Sql-Server
如何在 SSMS 的 SQL 查詢視窗中更改目前數據庫?
我正在嘗試創建一個 SQL 腳本,該腳本在主數據庫中創建一個新的伺服器登錄,然後在現有數據庫中創建一個相應的使用者。
如果’使用
$$ database_name $$’ 在查詢編輯器中出現多次,會導致兩個錯誤:
消息 40508,級別 16,狀態 1,第 4 行 USE 語句不支持在數據庫之間切換。使用新連接連接到不同的數據庫。
消息 40508,級別 16,狀態 1,第 11 行 USE 語句不支持在數據庫之間切換。使用新連接連接到不同的數據庫。
我考慮過打開 SQL CMD 模式並使用 :CONNECT 命令,但我不想連接到不同的數據庫伺服器,只需更改數據庫即可。連接到不同的數據庫(甚至是同一個數據庫)也需要我在腳本中嵌入使用者名和密碼,這是不可取的。我只是想打開連接到正確伺服器的 SQL 腳本,並且能夠在數據庫之間切換。
出現此問題的原因是 Azure SQL 數據庫不支持“使用”命令。
您必須為 SQL Server 安裝最新的累積更新
如果 Azure 允許您使用 3 部分名稱引用其他數據庫中的儲存過程,那麼您可以嘗試通過以下方式使用動態 SQL 執行命令
sp_executesql
:EXEC [master].[dbo].[sp_executesql] N'CREATE LOGIN [Bob] WITH PASSWORD = ''fgdfgdfgdfgfd'';'; CREATE USER [Bob] FOR LOGIN [Bob];