SuperAPI AI 工具集

azuresql-db-local-to-cloud

数据与分析

查看项目

更新于 10-16 06:47

技能介绍

用途:让应用代码在本地 Azure SQL Database 容器与云端 Azure SQL Database 之间保持零改动迁移,唯一变化是连接字符串。

主要能力:本地容器使用 Azure SQL Database 引擎(SELECT SERVERPROPERTY('EngineEdition') 返回 5,Edition 为 SQL Azure),因此在 USE(Msg 40508)、BACKUP/RESTORE(Msg 40510)、跨库查询、IDENTITY 等行为上与云端一致;提供 Node(mssql)与 .NET(Microsoft.Data.SqlClient)的参数化 CRUD 示例。

用法:应用只读取环境变量 SQL_CONNECTION_STRING。本地示例:Server=localhost,1433;Database=appdb;User Id=sa;Password=$MSSQL_SA_PASSWORD;TrustServerCertificate=true;云端示例:Server=your-server.database.windows.net,1433;Database=appdb;Authentication=Active Directory Default;Encrypt=true。启动容器需先 docker login sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io,再运行镜像 sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io/azure-sql/db-dev:latest,设置 ACCEPT_EULA=Y 与复杂 MSSQL_SA_PASSWORD,端口 1433。引擎不自动建库,须在 master 连接上 CREATE DATABASE appdb。非 x64 主机加 --platform linux/amd64。

限制:不应改用 mcr.microsoft.com/mssql/server 镜像;不要用 USE 切换数据库;云端连接串不得含密码,应使用 Entra 认证由驱动取令牌;应用逻辑不应按环境分支。资料显示本地端行为已实测,云端部分仅为文档指引,未实际验证。云端 Entra 与托管标识配置细节在 references/auth-local-vs-cloud.md,Python(pyodbc)示例亦在该文件。