标签: azure-sql-server

如何备份可承受 Azure 服务器删除的 Azure SQL

Azure SQL 具有内置备份。如果从门户中删除 SQL 数据库和服务器,这些备份就会丢失。

备份可承受从门户删除服务器的 Azure SQL 的最佳实践是什么。

我已手动将数据库导出到存储位置,但 Azure 表示不应将其用作备份。为什么不应该使用它?我应该做什么?

azure database-backups azure-virtual-machine azure-sql-database azure-sql-server

5
推荐指数
1
解决办法
2092
查看次数

如何在执行 C# Azure 函数期间避免 SqlClient 超时错误?

我用 C# 创建了一个函数应用时间触发器。在逻辑内部,我调用并执行我在 SQL Server 中创建的存储过程。

存储过程的执行时间超过 8 分钟,我在 Azure 函数应用程序日志中收到以下错误:

2018-04-02T11:03:46.409 [错误] 执行函数时出现异常:Functions.AbarIomWeeklyUsage。mscorlib:调用的目标已抛出异常。.Net SqlClient 数据提供程序:执行超时已过期。操作完成前超时时间已过或服务器未响应。等待操作超时。2018-04-02T11:03:46.425 [错误] 函数完成(失败,Id=1b85e7ef-ea52-4fd3-ab79-f27d188c5cac,持续时间=30323ms)

到目前为止,我尝试了 2 件事:1. 利用应用程序连接字符串中的连接超时 2. 添加超时 host.json

但它仍然给我同样的错误 30 秒超时。

有没有人遇到过同样的情况或对此有解决方案?

c# stored-procedures azure azure-sql-server azure-functions

5
推荐指数
1
解决办法
1884
查看次数

如何解密受 SQL Server AEAD_AES_256_CBC_HMAC_SHA_256 保护的(离线)值

是否可以手动解密由 sql server 始终加密的机制加密的值?我的意思是如何解密由AEAD_AES_256_CBC_HMAC_SHA_256算法加密的列值。

我有加密密钥(在其他主题中我问的是生成一个)所以我认为这应该是可能的。

我想抗拒天蓝色的可用性,所以离线解密对我来说是重要的功能。

sql-server data-protection encryption-symmetric azure-sql-server always-encrypted

5
推荐指数
0
解决办法
184
查看次数

如何替换SQL Server中逗号分隔的字符串列中的值

我有一个逗号分隔值,就像1,2,3,4我的SQL Server数据库中的表中的一列.我想替换逗号分隔字符串中的特定值.即,1,2,3我必须用5替换1和用6替换2.预期的输出是5,6,3.

我将在多行中获得值1和2.所以我需要在所有行中更新它.我有一个表,其中包含要更新的新值(即5 and 6).

简而言之,我有一个表在其中一列中有逗号分隔值,我有另一个包含新值的表.我需要用新值更新逗号分隔值.

database sql-server azure-sql-database azure-sql-server

5
推荐指数
1
解决办法
511
查看次数

Azure SQL登录被拒绝,错误18456状态113

我们有一个Azure SQL服务器。从Azure订阅中的某些计算机,我们无法连接到我们的SQL Server,但是从其他计算机中,也可以。在Azure以外的计算机上,我们完全没有问题。

引发的错误是

Login failed for user 'SQLAdminUser'
Run Code Online (Sandbox Code Playgroud)

SQL日志本身显示:

<login_information><error_code>18456</error_code><error_state>113</error_state></login_information>
Run Code Online (Sandbox Code Playgroud)

复制非常简单。在受影响的计算机上,在Powershell中执行:

$sqlConnection = New-Object System.Data.SqlClient.SqlConnection  "Server=tcp:ourdb-sql.database.windows.net,1433;Initial Catalog=SitesEE;Persist Security Info=False;User ID=SQLAdminUser;Password=[password]"
$sqlConnection.Open()

Exception calling "Open" with "0" argument(s): "Login failed for user 'SQLAdminUser'."
Run Code Online (Sandbox Code Playgroud)

我没在官方文档的任何地方看到错误113 的记载。我假设它与VM有某种关系,因为其他计算机可以毫无问题地执行该代码。

azure-sql-server

5
推荐指数
1
解决办法
546
查看次数

如何检查 Azure 中 SQL 导入导出操作的状态?

我正在使用 REST 管理 API 使用 BacPac 文件将 SQL 数据库导入到 Azure。我需要能够检查导入的状态,因为 Azure 不允许我在导入成功时发送事件。

以下是我正在执行的操作的文档: https://learn.microsoft.com/en-us/rest/api/sql/databases%20-%20import%20export/import

我已经尝试使用 Azure 的 Analysis Services API 通过操作 ID 和操作发生的区域来检查操作的状态。但是,调用此端点会返回 404 未找到。

以下是我尝试使用导入的操作 ID 及其发生的区域进行调用的 Azure 分析服务 API 端点的文档:https: //learn.microsoft.com/en-us/rest/api/analysisservices/servers/listoperationresults

我期望 Analysis Services 向我提供我使用 Azure 管理 API 开始的导入/导出操作的状态。这样做会导致 404,所以我不确定我是否调用了正确的 API 端点(我仔细检查以确保我正在构建以检查操作状态的 URI 中没有拼写错误)。

azure azure-resource-manager azure-sql-database azure-sql-server azure-rest-api

5
推荐指数
2
解决办法
1万
查看次数

使用在 Azure 中使用 MFA 的帐户调用 Sqlcmd

你们中有人知道使用 PowerShell 与启用了 MFA 的 Azure AD 帐户执行 SQL 命令的选项吗?什么是替代方案?我需要为此创建一个服务主体吗?

我运气不好,只找到了这个 cmdlet, Add-SqlAzureAuthenticationContext 但是当我尝试运行时Invoke-Sqlcmd,出现以下错误:

Invoke-Sqlcmd:目标主体名称不正确。无法生成 SSPI 上下文。

invoke-sqlcmd azure-sql-server multi-factor-authentication

5
推荐指数
1
解决办法
1868
查看次数

Azure SQL Server 中大容量插入的权限问题

用户在 Azure SQL Server 中运行批量插入命令时遇到以下错误。我使用的是 Azure SQL Server 而不是 SQL Sever。大多数与大容量插入授予权限相关的命令在 Azure SQL Server 中不起作用。

错误

You do not have permission to use the bulk load statement.
Run Code Online (Sandbox Code Playgroud)

在 Azure SQL Server 中尝试添加用户的命令

EXEC sp_addrolemember 'db_ddladmin', 'testuser'; 

ALTER SERVER ROLE [bulkadmin] ADD MEMBER testuser

GRANT ADMINISTER BULK OPERATIONS TO testuser
Run Code Online (Sandbox Code Playgroud)

错误

Msg 40520, Level 16, State 1, Line 5
Securable class 'server' not supported in this version of SQL Server.
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助。

azure azure-sql-database azure-sql-server

4
推荐指数
1
解决办法
4340
查看次数

Terraform 中的 Azure SQL 备份设置

尝试在 Terraform 文件中设置参数来备份 Azure SQL 服务器。

\n\n

在AWS中我可以添加一个密钥,例如:

\n\n
      allocated_storage = 1000\n      engine_version = \xe2\x80\x9c13.00.4451.0.v1\xe2\x80\x9d\n      backup_window = \xe2\x80\x9c18:00-18:30\xe2\x80\x9d\n      backup_retention_period = 14\n
Run Code Online (Sandbox Code Playgroud)\n\n

我找不到类似的密钥来备份 Azure SQL。以下是我在 Terraform Docs 和网络上找到的备份密钥:

\n\n
  resource "azurerm_sql_server" "some_erver" {\n    administrator_login          = "some_login"\n    administrator_login_password = "some_password"\n    location                     ="some_location"\n    name                         = "some_server"\n    resource_group_name          = "some_resource"\n    version                      = "some_version"\n\n  tags = {\n    environment  = "t"\n    stack-name   = "name"\n    stack-number = "number"\n    app-number   = "app-number"\n    logicmonitor = "bool"\n  }\n  backup {\n    frequency = "Daily"\n    time      = "04:00"\n  }\n\n  retention_daily {\n …
Run Code Online (Sandbox Code Playgroud)

terraform azure-sql-server terraform-provider-azure

4
推荐指数
1
解决办法
8772
查看次数

无法使用 SQL 管理凭据查询 Azure Synapse 中的无服务器池视图

我已在 Azure Synapse 中设置了一个无服务器 SQL 池,该池正在查询我为链接的 Azure Data Lake 设置的视图。

CREATE VIEW DeviceTelemetryView
AS SELECT corporationid, deviceid, version, Convert(datetime, dateTimestamp, 126) AS dateTimeStamp, deviceData FROM
   OPENROWSET(
       BULK 'https://test123.dfs.core.windows.net/devicetelemetry/*/*/*/*/*/',
       FORMAT = 'PARQUET'
    ) AS [result]
GO
Run Code Online (Sandbox Code Playgroud)

使用 synapse studio 或 SSMS 中的 Azure AD 凭据查询此视图没有任何问题。当我尝试使用 SQL 管理员帐户进行查询时,出现以下错误:

找不到凭据“https://test123.dfs.core.windows.net/devicetelemetry/////*/ ” ,因为它存在或您没有权限。

重要的是,我能够使用 SQL 管理凭据进行查询,因为我们希望通过应用程序查询此视图以获取各种报告,因此不想使用 AAD 凭据。

我已经尝试过这里提供的SO解决方案:GRANT Database Scoped Credential语法给出不匹配的输入错误

GRANT REFERENCES ON DATABASE SCOPED CREDENTIAL::[WorkspaceSystemIdentity] TO [sqlAdmin];
Run Code Online (Sandbox Code Playgroud)

由于这似乎是在将我的 DataLake 链接到 Synapse 时创建的默认凭据,但是在针对我的视图所在的数据库运行时,这会给我带来以下错误:

找不到数据库范围的凭据“WorkspaceSystemIdentity”,因为它不存在或您没有权限。

azure-sql-server azure-managed-identity azure-data-lake-gen2 azure-synapse

4
推荐指数
1
解决办法
2921
查看次数