sys.sp_rda_test_connection (Transact-SQL)
Область применения: SQL Server 2016 (13.x) и более поздних версий
Проверяет подключение с SQL Server к удаленному серверу Azure и сообщает о проблемах, которые могут препятствовать миграции данных.
Синтаксис
EXECUTE sys.sp_rda_test_connection
@database_name = N'db_name'
, @server_address = N'azure_server_fully_qualified_address'
, @azure_username = N'azure_username'
, @azure_password = N'azure_password'
, @credential_name = N'credential_name'
[ ; ]
Аргументы
@database_name= N'db_name'
Имя базы данных SQL Server с поддержкой Stretch. Это необязательный параметр.
Внимание
Stretch Database устарел в SQL Server 2022 (16.x) и База данных SQL Azure. Эта функция будет удалена в будущей версии ядро СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
@server_address= N'azure_server_fully_qualified_address'
Полный адрес сервера Azure.
Если вы предоставляете значение для @database_name, но указанная база данных не включена Stretch, необходимо указать значение для @server_address.
Если вы предоставляете значение для @database_name, а указанная база данных включена Stretch, то вам не нужно предоставлять значение для @server_address. Если вы предоставляете значение для @server_address, хранимая процедура игнорирует ее и использует существующий сервер Azure, уже связанный с базой данных с поддержкой Stretch.
@azure_username= N'azure_username'
Имя пользователя для удаленного сервера Azure.
@azure_password= N'azure_password'
Пароль для удаленного сервера Azure.
@credential_name= N'credential_name'
Вместо предоставления имени пользователя и пароля можно указать имя учетных данных, хранящихся в базе данных с поддержкой Stretch.
Значения кода возврата
В случае успешного выполнения sp_rda_test_connection
возвращает ошибку 14855 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_SUCCEEDED
) с серьезностью EX_INFO
и кодом успешного возврата.
В случае сбоя sp_rda_test_connection
возвращает ошибку 14856 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_FAILED
) с серьезностью EX_USER
и кодом возврата ошибки.
Результирующий набор
Имя столбца | Тип данных | Description |
---|---|---|
link_state |
int | Одно из следующих значений, которые соответствуют значениям для link_state_desc .- 0 -1 -2 -3 -4 |
link_state_desc |
varchar(32) | Одно из следующих значений, которые соответствуют приведенным выше значениям link_state .-ЗДОРОВЫЙ Между SQL Server и удаленным сервером Azure работает работоспособно. - ERROR_AZURE_FIREWALL Брандмауэр Azure предотвращает связь между SQL Server и удаленным сервером Azure. - ERROR_NO_CONNECTION SQL Server не может подключиться к удаленному серверу Azure. - ERROR_AUTH_FAILURE Сбой проверки подлинности предотвращает связь между SQL Server и удаленным сервером Azure. -ОШИБКА Ошибка, не связанная с проверкой подлинности, проблема с подключением или проблема брандмауэра предотвращает связь между SQL Server и удаленным сервером Azure. |
error_number |
int | Число ошибки. Если нет ошибки, это поле равно NULL. |
error_message |
nvarchar(1024) | Сообщение об ошибке. Если нет ошибки, это поле равно NULL. |
Разрешения
Требуется db_owner разрешения.
Примеры
Проверка подключения с SQL Server к удаленному серверу Azure
EXEC sys.sp_rda_test_connection @database_name = N'<Stretch-enabled database>';
GO
В результатах показано, что SQL Server не может подключиться к удаленному серверу Azure.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
2 | ERROR_NO_CONNECTION | <Номер ошибки, связанной с подключением> | <Сообщение об ошибке, связанной с подключением> |
Проверка брандмауэра Azure
USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO
Результаты показывают, что брандмауэр Azure предотвращает связь между SQL Server и удаленным сервером Azure.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
1 | ERROR_AZURE_FIREWALL | <Номер ошибки, связанной с брандмауэром> | <Сообщение об ошибке, связанной с брандмауэром> |
Проверка учетных данных проверки подлинности
USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO
Результаты показывают, что сбой проверки подлинности предотвращает связь между SQL Server и удаленным сервером Azure.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
3 | ERROR_AUTH_FAILURE | <Номер ошибки, связанной с проверкой подлинности> | <Сообщение об ошибке, связанной с проверкой подлинности> |
Проверка состояния удаленного сервера Azure
USE <SQL Server database>
GO
EXECUTE sys.sp_rda_test_connection
@server_address = N'<server name>.database.windows.net',
@azure_username = N'<user name>',
@azure_password = N'<password>';
GO
Результаты показывают, что подключение работоспособно, и вы можете включить Stretch Database для указанной базы данных.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
0 | РАБОТОСПОСОБНО | NULL | NULL |