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-1817

Justin Dearing's questions

Martin Hope
Justin Dearing
Asked: 2019-04-13 03:45:57 +0800 CST

将 CREATE EXTERNAL DATA SOURCE 存储在 SSDT 项目中,而不暴露 DATABASE SCOPED CREDENTIAL 或 MASTER KEY 机密;

  • 9

我有一个部署到 Azure SQL DB 的 SSDT 项目。最近我添加了一个外部表。这需要一个外部数据源,如下所示:

CREATE EXTERNAL DATA SOURCE [data_warehouse]
    WITH (
    TYPE = RDBMS,
    LOCATION = N'mydb.database.windows.net',
    DATABASE_NAME = N'MainDW',
    CREDENTIAL = [dw_reader]
    );

当我将它导入我的 .sqlproj 时,它抱怨凭证不存在,然后当我添加它抱怨主密钥不存在时。问题是我不想将这些秘密存储在 SSDT 项目中。如何存储可以从 azure keyvault 或其他在 Azure Decops 中存储机密的方法覆盖和检索的虚拟对象或默认值?

azure-sql-database ssdt
  • 1 个回答
  • 1292 Views
Martin Hope
Justin Dearing
Asked: 2017-02-26 19:20:27 +0800 CST

快速有效地删除数据库并删除所有文件的最佳方法?

  • 11

如果我将 Microsoft SQL Server 数据库设置为脱机并删除它,它将被删除,但日志和数据文件将保留。如果我在在线模式下执行此操作,则另一个连接可能会阻止我删除它。在开发环境中,或者对于我想定期清除并在生产中重新创建的数据库,清除数据库及其数据文件和日志文件的最佳 T-SQL 命令序列是什么因为我有 sa 权限并且没有人恶意试图阻止我删除数据库?

sql-server t-sql
  • 2 个回答
  • 16008 Views
Martin Hope
Justin Dearing
Asked: 2016-05-13 19:19:55 +0800 CST

来自公共证书颁发机构的签名证书是否为始终加密增加了任何价值?

  • 4

如果我从 SSMS gui 在 Microsoft SQL Server 中创建 Always Encrypted 列,它会生成一个自签名证书。制作 CSR 并支付证书颁发机构(或使用 letsencrypt.org)制作证书是否有价值?在这种情况下,信任链是否会增加价值?

sql-server security
  • 1 个回答
  • 505 Views
Martin Hope
Justin Dearing
Asked: 2015-10-18 16:12:10 +0800 CST

从 DB2 for IBM i 上的 INFORMATION_SCHEMA 视图枚举短列名和长列名

  • 0

在 IBM i (as/400) 上,您可以在表中使用短列名和长列名。短名称列在ODBC/JDBC视图的SYSTEM_COLUMN_NAME字段中。是否有可能从 INFORMATION_SCHEMA 视图中获取这些短列名,或者因为它不是大多数 RDBMS 支持的功能而不可能?QSYS2.SYSCOLUMNSSQLCOLUMNS

db2-midrange
  • 1 个回答
  • 108 Views
Martin Hope
Justin Dearing
Asked: 2015-10-08 10:03:31 +0800 CST

使用 MySQL 审计 DDL

  • 1

我们在 IBM i (as/400) 上有一个 MySQL 数据库,该数据库有许多具有管理员访问权限的人。我们想审核谁在进行更改,以及何时进行更改。在 SQL Server 上,我们会使用 DDL 触发器,但在 MySQL 上不存在。有一个反提议通过 CREATE EVENT 来做到这一点,但也没有实现。

我有哪些选项可以监控 DDL?大多数人都在使用 MySQL 管理员。我正在使用 MySQL Workbench,在网络内部,在网络内部,所有各方都可以直接访问 MySQL 数据库,因为 Microsoft Access 通过链接表访问它。

mysql audit
  • 1 个回答
  • 904 Views
Martin Hope
Justin Dearing
Asked: 2015-09-26 06:44:42 +0800 CST

如何在 DB2 for i 上对 XML 列执行 XPath 查询?

  • 3

我在表中有一个 XML 列。我只想从 XML 文档的每一行中检索第一个子元素(即 XPath 表达式的结果/root/someVal[1]),并在我的查询中将其子元素作为 DB2 for IBM i 中的列返回。在 Microsoft SQL Server 中,我可以通过xmlColumn.value('some xpath', 'someType').

鉴于此示例数据:

DECLARE GLOBAL TEMPORARY TABLE XMLSAMPLE(

    ID SMALLINT NOT NULL GENERATED ALWAYS AS IDENTITY,
    -- CONSTRAINT PK_XMLTABLE PRIMARY KEY(ID),
    XMLVAL XML NOT NULL
) WITH REPLACE;

INSERT INTO QTEMP.XMLSAMPLE(XMLVAL) VALUES('<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer''s Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications 
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
   </book>
   <book id="bk103">
      <author>Corets, Eva</author>
      <title>Maeve Ascendant</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-11-17</publish_date>
      <description>After the collapse of a nanotechnology 
      society in England, the young survivors lay the 
      foundation for a new society.</description>
   </book>
   <book id="bk104">
      <author>Corets, Eva</author>
      <title>Oberon''s Legacy</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-03-10</publish_date>
      <description>In post-apocalypse England, the mysterious 
      agent known only as Oberon helps to create a new life 
      for the inhabitants of London. Sequel to Maeve 
      Ascendant.</description>
   </book>
   <book id="bk105">
      <author>Corets, Eva</author>
      <title>The Sundered Grail</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-09-10</publish_date>
      <description>The two daughters of Maeve, half-sisters, 
      battle one another for control of England. Sequel to 
      Oberon''s Legacy.</description>
   </book>
   <book id="bk106">
      <author>Randall, Cynthia</author>
      <title>Lover Birds</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-09-02</publish_date>
      <description>When Carla meets Paul at an ornithology 
      conference, tempers fly as feathers get ruffled.</description>
   </book>
</catalog>'),
('<?xml version="1.0"?>
<catalog>
   <book id="bk107">
      <author>Thurman, Paula</author>
      <title>Splish Splash</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>A deep sea diver finds true love twenty 
      thousand leagues beneath the sea.</description>
   </book>
   <book id="bk108">
      <author>Knorr, Stefan</author>
      <title>Creepy Crawlies</title>
      <genre>Horror</genre>
      <price>4.95</price>
      <publish_date>2000-12-06</publish_date>
      <description>An anthology of horror stories about roaches,
      centipedes, scorpions  and other insects.</description>
   </book>
   <book id="bk109">
      <author>Kress, Peter</author>
      <title>Paradox Lost</title>
      <genre>Science Fiction</genre>
      <price>6.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>After an inadvertant trip through a Heisenberg
      Uncertainty Device, James Salway discovers the problems 
      of being quantum.</description>
   </book>
   <book id="bk110">
      <author>O''Brien, Tim</author>
      <title>Microsoft .NET: The Programming Bible</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-09</publish_date>
      <description>Microsoft''s .NET initiative is explored in 
      detail in this deep programmer''s reference.</description>
   </book>
   <book id="bk111">
      <author>O''Brien, Tim</author>
      <title>MSXML3: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-01</publish_date>
      <description>The Microsoft MSXML3 parser is covered in 
      detail, with attention to XML DOM interfaces, XSLT processing, 
      SAX and more.</description>
   </book>
   <book id="bk112">
      <author>Galos, Mike</author>
      <title>Visual Studio 7: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>49.95</price>
      <publish_date>2001-04-16</publish_date>
      <description>Microsoft Visual Studio 7 is explored in depth,
      looking at how Visual Basic, Visual C++, C#, and ASP+ are 
      integrated into a comprehensive development 
      environment.</description>
   </book>
</catalog>');

我不想做以下事情:

SELECT id as catalog_id, books.* FROM
    QTEMP.XMLSAMPLE x,
    XMLTABLE (
        '$library/catalog/book' passing x.XMLVAL as "library"
      COLUMNS
        BOOKNO FOR ORDINALITY,
        BOOK_ID CHAR(5) PATH '@id',
        AUTHOR VARCHAR(100) PATH 'author',
        TITLE VARCHAR(100) PATH 'title',
        GENRE VARCHAR(25) PATH 'genre',
        PRICE DECIMAL(7,2) PATH 'price',
        PUBLISH_DATE DATE PATH 'publish_date',
        DESCRIPTION VARCHAR(1000) PATH 'description'
    ) books

因为这将返回:

1   1   bk101   Gambardella, Matthew    XML Developer's Guide   Computer    44.95   2000-10-01
1   2   bk102   Ralls, Kim  Midnight Rain   Fantasy 5.95    2000-12-16
1   3   bk103   Corets, Eva Maeve Ascendant Fantasy 5.95    2000-11-17
1   4   bk104   Corets, Eva Oberon's Legacy Fantasy 5.95    2001-03-10
1   5   bk105   Corets, Eva The Sundered Grail  Fantasy 5.95    2001-09-10
1   6   bk106   Randall, Cynthia    Lover Birds Romance 4.95    2000-09-02
2   1   bk107   Thurman, Paula  Splish Splash   Romance 4.95    2000-11-02
2   2   bk108   Knorr, Stefan   Creepy Crawlies Horror  4.95    2000-12-06
2   3   bk109   Kress, Peter    Paradox Lost    Science Fiction 6.95    2000-11-02
2   4   bk110   O'Brien, Tim    Microsoft .NET: The Programming Bible   Computer    36.95   2000-12-09
2   5   bk111   O'Brien, Tim    MSXML3: A Comprehensive Guide   Computer    36.95   2000-12-01
2   6   bk112   Galos, Mike Visual Studio 7: A Comprehensive Guide  Computer    49.95   2001-04-16

我只希望它返回以下内容:

1   1   bk101   Gambardella, Matthew    XML Developer's Guide   Computer    44.95   2000-10-01
2   1   bk107   Thurman, Paula  Splish Splash   Romance 4.95    2000-11-02

每个 XML 列一行。

db2 iseries
  • 1 个回答
  • 2728 Views
Martin Hope
Justin Dearing
Asked: 2015-09-24 09:54:23 +0800 CST

并非所有列都显示在 DB2 for IBM i 上的 select * 上

  • 2

我的客户在他们的 IBMi 上有一个表,其中有一个到另一个表的外键。它没有出现SELECT * FROM lib.table。但是,如果我在列列表中特别提到它。它确实出现了。

SELECT
        col1, col2.col3, fxcolid
    FROM  lib.table

我正在使用 jt400 驱动程序从SQLWorkbench/J进行查询。

db2 iseries
  • 2 个回答
  • 1421 Views
Martin Hope
Justin Dearing
Asked: 2015-07-03 04:06:33 +0800 CST

ODBC 驱动程序跟踪未捕获任何 logparser 事件

  • 1

我已使用这些说明启用了 Driver Tracing 。我正在运行 SQL Server 2014,它使用 2012 本机驱动程序。

我运行启动批处理文件,然后运行以下 LogParser 命令:

"c:\Program Files (x86)\Log Parser 2.2\LogParser.exe" "SELECT SUBSTR(Field1, 0, 2) AS CountryCode, SUBSTR(TO_STRING(Field2), 0, 5) AS Zip INTO ZipCodes FROM 'c: \Users\jdearing\Downloads\us.txt'" -i:TSV -headerrow:OFF -o:SQL -server 。-数据库 LogParserTest -cleartable -transactionRowCount:0 -ignoreMinWarns:OFF

这将插入零行。而不是为每一行产生这个错误:

An error occurred while uploading data to SQL table
  SQL State:     22001
  Native Error:  0
  Error Message: [Microsoft][ODBC SQL Server Driver]String data, right
  truncation

停止跟踪后,etl 为 1024k,但根据此 logparser 查询没有行:

"c:\Program Files (x86)\Log Parser 2.2\LogParser.exe" "SELECT * FROM 'SnacTrace_000001.etl'" -i:ETW

我注意到 providers.txt 批处理文件中的 GUIDS 与logman query providers | findstr SQL

echo {BA798F36-2325-EC5B-ECF8-76958A2AF9B5} 0xFFFFFFFF 128 SQLNCLI > providers.txt 
echo {A9377239-477A-DD22-6E21-75912A95FD08} 0xFFFFFFFF 128 SQLNCLI10 >> providers.txt 
echo {2DA81B52-908E-7DB6-EF81-76856BB47C4F} 0xFFFFFFFF 128 SQLNCLI11 >> providers.txt 

相对

SQLNCLI.1                                {BA798F36-2325-EC5B-ECF8-76958A2AF9B5}
SQLSERVER.09                             {AB6D5EEB-0132-74AB-C5F5-B23E1644DADA}
SQLSERVER.10                             {48D59D84-105B-00FA-6B49-03462F696737}
SQLSERVER.11                             {B2A28C42-A7C2-1563-97CC-3BE49FDA19F9}

所以我将批处理文件更新为:

echo {BA798F36-2325-EC5B-ECF8-76958A2AF9B5} 0xFFFFFFFF 128 SQLNCLI > providers.txt 
echo {48D59D84-105B-00FA-6B49-03462F696737} 0xFFFFFFFF 128 SQLNCLI10 >> providers.txt 
echo {B2A28C42-A7C2-1563-97CC-3BE49FDA19F9} 0xFFFFFFFF 128 SQLNCLI11 >> providers.txt 

仍然没有运气。我还能尝试什么?logparser 没有使用本机客户端吗?

sql-server sql-server-2014
  • 2 个回答
  • 538 Views
Martin Hope
Justin Dearing
Asked: 2015-07-02 18:09:56 +0800 CST

设置 logparser 创建的表中某列的列宽

  • 1

我正在尝试将 LogParser 用于 ETL。我正在尝试使用以下命令导入此文件:

"c:\Program Files (x86)\Log Parser 2.2\LogParser.exe" "SELECT Field1 AS CountryCode, Field2 AS Zip INTO ZipCodes FROM 'c:\Users\jdearing\Downloads\us.txt'" -i:TSV - headerrow:OFF -o:SQL -server 。-数据库 LogParserTest -createtable -cleartable

它像这样创建一个表:

CREATE TABLE [dbo].[ZipCodes](
    [CountryCode] [varchar](255) NULL,
    [Zip] [int] NULL
);

如果我将命令更改为

"c:\Program Files (x86)\Log Parser 2.2\LogParser.exe" "SELECT Field1 AS CountryCode, TO_STRING(Field2) AS Zip INTO ZipCodes FROM 'c:\Users\jdearing\Downloads\us.txt'" -i :TSV -headerrow:OFF -o:SQL -server 。-数据库 LogParserTest -createtable -cleartable

它创建下表: CREATE TABLE [dbo].[ZipCodes]( [CountryCode] varchar NULL, [Zip] varchar NULL );

所以TO_STRING(Field2) AS Zip INTO ZipCodes创造[Zip] [varchar](255) NULL。

然而,我的目标是使结果表成为:

CREATE TABLE [dbo].[ZipCodes](
    [CountryCode] [char](2) NOT NULL,
    [Zip] [char](5) NOT NULL
);

两列都保持 VARCHAR(255) NULL,带有 SUBSTR,如下所示:

SUBSTR(Field1, 0, 2) 作为国家代码,SUBSTR(TO_STRING(Field2), 0, 5) 作为 Zip

如何让 LogParser 创建具有固定长度 NOT NULL char 列的表?

etl logparser
  • 1 个回答
  • 225 Views
Martin Hope
Justin Dearing
Asked: 2015-06-23 08:18:39 +0800 CST

几何类型中的 SRID 有什么意义?

  • 2

据我了解,SRID是一个投影代码;二维坐标系如何拟合球体。

根据我的理解,几何类型和地理类型之间的区别在于几何类型是二维的,而地理类型是 3 维或四维的。因此,几何类型中的 SRID 有什么意义?

spatial geometry
  • 1 个回答
  • 945 Views
Martin Hope
Justin Dearing
Asked: 2015-05-29 21:01:00 +0800 CST

从 V5R3M0 上的信息架构中选择 *

  • 2

我可以访问客户的 V7R1 AS/400,并且可以运行类似SELECT NAME FROM INFORMATION_SCEMA.TABLES和

SELECT 
    COLUMN_NAME, 
    DATA_TYPE, 
    TYPE_NAME, 
    COLUMN_SIZE, 
    COLUMN_TEXT
FROM "SYSIBM"."SQLCOLUMNS"
WHERE
    TABLE_SCHEM = 'MYLIB' 
    AND TABLE_NAME = 'SOMEPF'

就好了。我是该系统的 QSECOFR 1。

但是,在PUB1.DE上运行 V5R3M0 的免费绿屏帐户上,我无法从 STRSQL 或 QSH 内的 db2 命令运行该命令。我尝试了另一种我见过的 INFORMATION_SCHEMA/TABLES 格式。我从 STRSQL 收到以下错误:

> SELECT name FROM INFORMATION_SCHEMA/TABLES
  TABLES in QSYS2 type *FILE not found.     
> SELECT name FROM INFORMATION_SCHEMA.TABLES
  Qualified object name TABLES not valid.   

这是权限问题,V5 和 V7 之间的语法差异还是其他什么?


1 - 操作系统安全官用户配置文件
db2 information-schema
  • 2 个回答
  • 13717 Views
Martin Hope
Justin Dearing
Asked: 2015-01-09 07:54:10 +0800 CST

如何在 SQL Server 2008 R2 中按数据库筛选扩展事件

  • 2

如果我在 SQL Server 2008 R2 中进行这样的扩展事件会话:

CREATE EVENT SESSION [Query tracing] ON SERVER 
ADD EVENT sqlserver.rpc_completed 
    (
        ACTION(sqlserver.sql_text)
        WHERE sqlsever.database_name = 'master'

我收到一个错误:

消息 25706,级别 16,状态 8,第 8 行
找不到事件属性或谓词源“sqlsever.database_name”。

同样的情况发生在WHERE sqlsever.database_id = DB_ID('master')

有没有办法按数据库过滤?

sql-server sql-server-2008-r2
  • 2 个回答
  • 2757 Views
Martin Hope
Justin Dearing
Asked: 2015-01-08 14:32:36 +0800 CST

让 ApplicationName (sqlserver.client_app_name) 出现在 xevent 中

  • 6

我正在尝试检查一些带有扩展事件的 T-SQL,就像我以前使用 SQL 探查器一样。我有以下活动会话:

IF EXISTS (SELECT name FROM sys.dm_xe_sessions WHERE Name = 'PySoup tracing')
BEGIN
    DROP EVENT SESSION [PySoup tracing] ON SERVER
END

CREATE EVENT SESSION [PySoup tracing] ON SERVER 
ADD EVENT sqlserver.rpc_completed (ACTION(sqlserver.client_app_name, sqlserver.sql_text )),
ADD EVENT sqlserver.sp_statement_completed (ACTION(sqlserver.client_app_name, sqlserver.sql_text )),
ADD EVENT sqlserver.sql_batch_completed (ACTION(sqlserver.client_app_name, sqlserver.sql_text )),
ADD EVENT sqlserver.sql_statement_completed (ACTION(sqlserver.client_app_name, sqlserver.sql_text ))
ADD TARGET package0.event_file(SET filename=N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\PySoup tracing.xel')--,
--ADD TARGET package0.ring_buffer(SET max_events_limit=(1000000))
GO

ALTER EVENT SESSION [PySoup tracing] ON SERVER
    STATE = START;

我认为 ACTION 子句应该列出事件返回的列。sqlserver.client_app_name但是,当我在 GUI 中查看事件数据时,我没有看到列。

xevent截屏

我究竟做错了什么?

sql-server sql-server-2012
  • 2 个回答
  • 1594 Views
Martin Hope
Justin Dearing
Asked: 2014-04-12 07:40:38 +0800 CST

sqlproj 中的引用程序集未部署到服务器

  • 9

我有一个 Visual Studio 2013 数据库项目,它采用fastJSON的修改版本作为参考。我在参考属性中选择了 Generate DDL,如下图所示:

fastJSON 属性面板

在 .sqlproj msbuild 文件中:

<Reference Include="fastJSON">
  <HintPath>..\..\fastjson\output\net40\fastJSON.dll</HintPath>
  <GenerateSqlClrDdl>True</GenerateSqlClrDdl>
</Reference>

但是 bin/debug/Project.sql 不包含CREATE ASSEMBLY fastJSON . . .. 手动添加程序集,然后我的项目将部署并运行。我该怎么做才能让 Visual Studio 部署我的程序集?

sql-server sql-clr
  • 1 个回答
  • 6311 Views
Martin Hope
Justin Dearing
Asked: 2014-04-12 07:02:19 +0800 CST

让 Visual Studio 部署 UDF 以返回 NVARCHAR(MAX)

  • 2

我在 Visual Studio 2013 中有一个具有以下签名的 SQLCLR 存储过程:

[SqlFunction(DataAccess = DataAccessKind.Read, SystemDataAccess = SystemDataAccessKind.Read)]
public static SqlString ExecSql2Json(SqlString sql)

或者我试过:

[SqlFunction(DataAccess = DataAccessKind.Read, SystemDataAccess = SystemDataAccessKind.Read)]
public static SqlChar ExecSql2Json(SqlChar sql)

无论哪种方式,参数和返回类型都定义为NVARCHAR(4000). 我希望他们是NVARCHAR(MAX)。

我知道我可以手动编写自己的CREATE PROCEDURE语句来进行精细控制。是否有任何选项可以更改 SQL Server 生成的部署 DDL,或者我是否只需要手动添加一个脚本来删除和读取具有正确签名的 UDF?

varchar sql-clr
  • 1 个回答
  • 731 Views
Martin Hope
Justin Dearing
Asked: 2013-02-05 05:53:36 +0800 CST

是否有针对 SSDT 项目的 SQL Server 2008 R2 特定目标?

  • 4

我正在 Visual Studio 2012 中创建一个 SQLCLR 存储过程。我有以下针对目标平台的选项:

SSDT 平台 sql server 2005、2008、.  2012 年,蔚蓝

没有特定于 SQL Server 2008 R2 的选项吗?这是因为 SQL 2008 R2 与 SQL Server 2008 共享相同的兼容性级别100 吗?

sql-server visual-studio
  • 2 个回答
  • 1003 Views
Martin Hope
Justin Dearing
Asked: 2013-01-12 12:00:47 +0800 CST

sys.dm_exec_sessions 中是否存在每个服务器唯一的列组合?

  • 0

在 SQL Server 中,每个会话都有自己的 spid。在任何给定的通知中,spid 都是唯一的,但 spid,如操作系统中的进程和线程标识符是可回收的。

但是sys.dm_exec_sessions有其他带有会话元数据的列。是否存在保证对服务器实例唯一的列组合?

sql-server dmv
  • 2 个回答
  • 292 Views
Martin Hope
Justin Dearing
Asked: 2013-01-03 13:01:24 +0800 CST

为什么 SqlSentry Plan Explorer 不提供查询的持续时间?

  • 4

我在 13gig 数据库中有一个大型讨厌的存储过程,当我包含实际执行计划时需要 45 分钟才能运行。我从 SSMS 保存查询计划并在SQL Sentry Plan Explorer中打开,但我没有看到任何查询的持续时间:

我已经搜索了整个查询列表并对其进行了搜索,整个列都是空的。我知道这个特定存储过程中的一些查询需要很长时间才能运行。虽然存储过程很大,但它不是具有数百万微秒查询的存储过程,而且我知道某些查询需要几分钟才能运行。

performance sql-server-2008-r2
  • 1 个回答
  • 756 Views
Martin Hope
Justin Dearing
Asked: 2012-10-22 04:32:58 +0800 CST

有没有办法让 sql server 在当前数据库之前在 master 数据库中搜索 SQLCLR 存储过程?

  • 5

对于前缀为 sp_ 的 T-SQL 存储过程,SQL Server 将在 master 数据库中搜索并使用当前过程之前的过程。对于我使用内置部署的 Visual Studios 通过 SQL Server 2010 创建的 SQLCLR 存储过程,情况似乎并非如此。数据库服务器是 SQL Server 2008 R2 (SP1)。

我执行这个脚本:

SELECT name
from master.sys.procedures
WHERE type_desc='CLR_STORED_PROCEDURE' and schema_id = 1

USE tempdb
PRINT 'USING tempDb'
EXEC sp_RAISERROR_CaughtDemo;
GO
USE master
PRINT 'USING master'
EXEC sp_RAISERROR_CaughtDemo
GO
--SELECT * from sys.assembly_modules

并且存储过程将仅使用 master 数据库中的非限定名称执行:

name
----------------------------------
sp_RAISERROR_CaughtDemo
sp_RAISERROR_UncaughtDemo

(2 row(s) affected)

USING tempDb
Msg 2812, Level 16, State 62, Line 5
Could not find stored procedure 'sp_RAISERROR_CaughtDemo'.
USING master
RAISERROR() Caught Severity 0
RAISERROR() Caught Severity 1
Msg 50000, Level 1, State 1
RAISERROR() Caught Severity 2
Msg 50000, Level 2, State 1
RAISERROR() Caught Severity 3
Msg 50000, Level 3, State 1
RAISERROR() Caught Severity 4
Msg 50000, Level 4, State 1
RAISERROR() Caught Severity 5
Msg 50000, Level 5, State 1
RAISERROR() Caught Severity 6
Msg 50000, Level 6, State 1
RAISERROR() Caught Severity 7
Msg 50000, Level 7, State 1
RAISERROR() Caught Severity 8
Msg 50000, Level 8, State 1
RAISERROR() Caught Severity 9
Msg 50000, Level 9, State 1
RAISERROR() Caught Severity 10
Msg 50000, Level 11, State 1, Line 1
RAISERROR() Caught Severity 11

这些程序的代码如下:

[SqlProcedure(Name = "sp_RAISERROR_UncaughtDemo")]
public static void RaiserrorUncaught()
{
    short i = 0;
    using (var cn = new SqlConnection("context connection=true"))
    using (var cmd = cn.CreateCommand())
    {
        cn.Open();
        cmd.CommandText = "RAISERROR('RAISERROR() Uncaught Severity %d', @i, 1, @i)";
        cmd.Parameters.Add("@i", SqlDbType.SmallInt);
        while (true)
        {
            cmd.Parameters["@i"].Value = i++;
            SqlContext.Pipe.ExecuteAndSend(cmd);
        }
        cn.Close();
    }
}

[SqlProcedure(Name = "sp_RAISERROR_CaughtDemo")]
public static void RaiserrorCaught()
{
    try
    {
        short i = 0;
        using (var cn = new SqlConnection("context connection=true"))
        using (var cmd = cn.CreateCommand())
        {
            cn.Open();
            cmd.CommandText = "RAISERROR('RAISERROR() Caught Severity %d', @i, 1, @i)";
            cmd.Parameters.Add("@i", SqlDbType.SmallInt);
            while (true)
            {
                cmd.Parameters["@i"].Value = i++;
                SqlContext.Pipe.ExecuteAndSend(cmd);
            }
            cn.Close();
        }
    }
    catch(SqlException) {}
}

我可以做些什么来让 SQL Server 在 master 数据库中搜索以找到这个存储过程吗?我试过sys.sp_MS_marksystemobject了没有用。

sql-server sql-clr
  • 1 个回答
  • 931 Views
Martin Hope
Justin Dearing
Asked: 2012-08-31 09:34:58 +0800 CST

除了重新启动 SQL Server 之外,还有什么方法可以强制重置 SQLCLR AppDomain?

  • 11

我想强制重置 SQLCLR 使用的 AppDomain。除了重新启动 SQL Server 实例之外,我还能如何做到这一点?

sql-server sql-clr
  • 2 个回答
  • 5394 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