Задача – скопировать SQL базу с одного Microsoft SQL сервера – на другой.
Используем tsql
клиент под Linux.
Подключаемся:
$ TDSVER=7.1 tsql -S NewSQLServer.database.windows.net -U username -P p@ssw0rd
Скопировать базу можно с помощью оператора CREATE DATABASE
с аргументом AS COPY OF
.
Что бы скопировать базу с удалённого сервера – указываем его перед именем базы:
1> CREATE DATABASE NewSQLDatabaseName AS COPY OF OldSQLServer.OldSQLDatabaseName 2> go
При копировании с удалённого сервера – его имя указывать надо не польностью, в виде OldSQLServer.database.windows.net, а только имя – OldSQLServer.
Для проверки статуса копирования – можно сделать выборку из колонки state_desc
таблицы sys.databases
:
1> select name, state_desc from sys.databases where name = 'NewSQLDatabaseName' 2> go name state_desc JmStageCopyTestCMS COPYING
И по завершению:
1> select name, state_desc from sys.databases where name = 'NewSQLDatabaseName'; 2> go name state_desc JmStageCopyTestCMS ONLINE
Ссылки по теме
Copy an Azure SQL database using Transact-SQL