AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-108519

CB_Ron's questions

Martin Hope
CB_Ron
Asked: 2023-08-10 07:55:45 +0800 CST

是否可以向 SQL Server 2022 中的整个存储过程添加查询提示?

  • 6

SQL Server 2022 有一个新功能,称为参数敏感计划优化。我不想为我的整个数据库打开它,但我有四个存储过程,我相信它们会从此功能中受益。根据SQL Server Central 上的这篇文章,可以为特定查询或存储过程打开它:

要在查询级别启用 PSP 优化,请在查询或存储过程末尾的分号之前添加查询提示 OPTION (USE HINT('ENABLE_PARAMETER_SENSITIVITY_OPTIMIZATION'))。运行存储过程或查询。此存储过程或查询现在已启用该功能。

然而,尚不清楚如何为 SP 打开它。它们是指行上的分号EXEC(运行时)还是 SP 代码本身中的分号?我已经进行了谷歌搜索,但没有找到任何显示示例,这让我相信这实际上是不可能的。如果没有,我将不得不将其添加到 SP 中每个查询的末尾 - 这不是一个不可能的任务(我之前已经完成过),但这篇文章给我留下了一些希望,希望它可以更容易地完成。也许是 2022 年的新功能。

sql-server
  • 1 个回答
  • 54 Views
Martin Hope
CB_Ron
Asked: 2020-07-23 16:01:14 +0800 CST

SQL Server 2019 UPDATE 语句 SET to function 不会为每一行再次执行该函数

  • 1

这是场景。我有一个本地 SQL Server,我已将实时 SQL Server 数据库恢复到该本地 SQL Server。为了符合 GDPR/CCPA,我必须匿名化本地服务器数据库中的 PII。我有一个脚本来执行此操作,当本地服务器是 2008 R2 或 2017 时,它一直运行良好。但我刚刚安装了 2019,并且相同的脚本在表的每一行中放置了相同的值,而不是不同的值对于每一行。就好像函数只执行一次,然后在UPDATE语句中使用该值。也许这是 2019 年正在做的某种优化?这是脚本的一个片段。

UPDATE Guest SET GuestFirstName=Utility.dbo.RANDWORD() WHERE GuestFirstName IS NOT NULL;

RANDWORD从包含大约 100,000 个英语单词的表中抓取一个随机单词。

update sql-server-2019
  • 1 个回答
  • 111 Views
Martin Hope
CB_Ron
Asked: 2020-03-03 16:31:13 +0800 CST

将 Query Optimizer Fixes 设置为 ON 是否会在兼容级别为 140 的数据库上启用标量 UDF 内联?

  • 0

Azure SQL 数据库托管实例。当前兼容性级别设置为 140 以匹配本地 SQL Server 2017 测试和开发服务器。我刚刚阅读了有关 Scalar UDF Inlining 的这篇文章,并且很好奇将 Query Optimizer Fixes 设置为 ON 是否会启用此功能?我已经阅读了更多关于该主题的文章,但没有一篇文章解决了这个问题。

functions azure-sql-managed-instance
  • 1 个回答
  • 109 Views
Martin Hope
CB_Ron
Asked: 2020-01-24 16:19:44 +0800 CST

SSMS 18.4 打开数据库属性对话框 Azure SQL DB 托管实例时出错

  • 0

我在 Azure SQL DB 托管实例中有三个数据库。我正在使用 SSMS 18.4。我可以右键单击一个数据库,选择Properties,对话框正常出现。其他两个数据库给了我以下错误。

在此处输入图像描述

我花了几个小时谷歌搜索没有结果。有人有想法么?

ssms azure-sql-managed-instance
  • 1 个回答
  • 120 Views
Martin Hope
CB_Ron
Asked: 2019-08-20 08:16:15 +0800 CST

CURSOR 中的无限循环

  • 6

我正在尝试在不再需要临时表时使用游标来清理它们。我有一个小表,其中包含临时表的名称和标识符。光标卡在无限循环中,但前提是我在其中执行某些语句。如果我只是从 中打印出值FETCH,它就可以完美地工作。这是代码。

DECLARE @id bigint;
DECLARE @table_name varchar(max);

DECLARE st CURSOR LOCAL FAST_FORWARD FOR 
SELECT ID, TableName FROM SearchTables WHERE CustomerID IS NULL

OPEN st
FETCH NEXT FROM st INTO @id, @table_name
WHILE @@FETCH_STATUS <> -1 
BEGIN   
    IF(OBJECT_ID(@table_name) IS NOT NULL) 
        EXEC('DROP TABLE ' + @table_name);

    UPDATE SearchTables SET Deleted=1 WHERE ID=@id;

    PRINT CAST(@id AS varchar(max)) + ' ' + @table_name;

    FETCH NEXT FROM st INTO @id, @table_name;
END 

CLOSE st
DEALLOCATE st

如果我注释掉这些行

    IF(OBJECT_ID(@table_name) IS NOT NULL) 
        EXEC('DROP TABLE ' + @table_name);

    UPDATE SearchTables SET Deleted=1 WHERE ID=@id;

PRINT输出所有的 ID 和表名。如果我不评论它们,我得到的只是第一行一遍又一遍,直到我取消查询。我也尝试将IF线路更改为,EXEC('DROP TABLE IF EXISTS ' + @table_name)但这也不起作用。

t-sql cursors
  • 2 个回答
  • 2058 Views
Martin Hope
CB_Ron
Asked: 2019-07-31 15:22:10 +0800 CST

从 Azure SQL 托管实例备份数据库并还原到本地 SQL Server

  • 6

我将三个数据库迁移到 Azure SQL 托管实例。一个是实用程序数据库,只是通用函数和过程的一小部分集合。一种是用于 Web 应用程序的 OLTP 数据库。第三个是 OLTP 数据库的只读存档,其中包含用于分析和报告的历史数据以及审计表。我需要能够将这些数据库恢复到本地开发和测试服务器。到目前为止,我一直没有成功。

我的第一次尝试是使用备份到 Azure Blob 存储。但是无论我在本地使用什么版本的 SQL Server,我总是收到一个错误,即 Copy Only 备份来自较新版本并且不支持还原。

接下来,我尝试从 SSMS v.18.1 导出数据层应用程序。不幸的是,它永远不会超过出口。我收到几十个错误External references are not supported when creating a package from this platform。托管实例相对于 Azure SQL DB 的最大优势之一是能够执行跨数据库查询。我有许多链接两个数据库中的表的视图和过程。此外,OLTP 数据库中的某些过程调用 Utility 数据库中的函数。由于 MI 不是 Azure SQL 数据库,您会认为这不是问题!

搜索谷歌,我在 Stack Overflow 上找到了这个问题。所以我尝试了作为答案提出的 Visual Studio 方法。尽管它似乎可以工作,这意味着它会在我的本地计算机上创建一个多 GB 的文件,但尝试使用 SSMS 导入该文件会给我一个错误,显示为No data is present in this file.所以然后我尝试了第二种可能的解决方案,使用sqlpackage.exe. 但是该解决方案对我也不起作用,因为它仅引用导出架构。如果我尝试导出整个数据库,/Action:Export我会收到与 SSMS 相同的错误消息。

我还检查了这个数据库管理员问题。没有帮助 - 这是我最初尝试的。如果有人有任何其他想法,我将不胜感激!

restore sql-server-2017
  • 3 个回答
  • 7207 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve