Пользователь SQL Server для Renta
Renta входит в SQL Server под обычным пользователем базы данных и работает только внутри базы, указанной в подключении. На этой странице показано, как создать такую учётную запись и какие права ей нужны.
Выполняйте команды от имени администратора: server admin сервера Azure SQL или участника роли db_owner.
Что Renta выполняет в вашей базе
Каждое право ниже соответствует команде, которую выполняет коннектор.
| Команда | Право |
|---|---|
| Валидация доступа и проверка существования таблицы перед каждым запуском | SELECT |
| CREATE TABLE на первом запуске и после изменения списка полей | CREATE TABLE, ALTER на схему |
| INSERT с выгруженными строками на каждом запуске | INSERT |
| DELETE при полной перезагрузке и для окна перезаписи | DELETE |
| DROP TABLE при изменении списка полей пайплайна | ALTER на схему |
Создайте пользователя
В Azure SQL Database создайте contained-пользователя прямо в целевой базе.
CREATE USER renta WITH PASSWORD = 'your-strong-password';На собственном сервере или в Amazon RDS сначала создайте логин уровня сервера, затем привяжите к нему пользователя базы.
CREATE LOGIN renta WITH PASSWORD = 'your-strong-password';
GO
USE your_database;
CREATE USER renta FOR LOGIN renta;Те же имя и пароль укажите в полях User и Password подключения SQL Server в Renta.
Выдайте права
Выполните гранты в базе, на которую указывает подключение. Они покрывают всю схему dbo, поэтому таблицам будущих пайплайнов дополнительные команды не нужны.
GRANT CREATE TABLE TO renta;
GRANT ALTER ON SCHEMA::dbo TO renta;
GRANT SELECT, INSERT, DELETE ON SCHEMA::dbo TO renta;Набор сознательно минимальный. Учётная запись остаётся внутри одной схемы одной базы и не может изменить ничего другого на сервере.
Если у пользователя подключения другая схема по умолчанию, замените dbo в грантах на неё. Renta создаёт таблицы в схеме по умолчанию того пользователя, под которым входит.
Проверьте результат
Прочитайте права, которые учётная запись реально получила.
EXECUTE AS USER = 'renta';
SELECT permission_name FROM fn_my_permissions('dbo', 'SCHEMA')
UNION ALL
SELECT permission_name FROM fn_my_permissions(NULL, 'DATABASE')
WHERE permission_name = 'CREATE TABLE';
REVERT;В выводе должны быть SELECT, INSERT, DELETE, ALTER и CREATE TABLE.
Затем откройте страницу назначения SQL Server, заполните форму подключения и нажмите Save. Renta выполнит тестовый запрос к базе и сразу сообщит о проблеме с правами.
Ready to get started?
Build your data pipeline today or get a personalized demo. Start free!
Need help?
Get expert support to ensure your project succeeds. We're here to help!
Feature requests?
Help shape our product! Share your ideas for new features and integrations.