我正在尝试运行尝试从系统表中选择的存储过程时遇到与权限相关的问题.基本上我试图通过直接从sys.dm_tran_current_transaction表中获取我需要的数据来解决SQL Server 2012中sp_bindtoken系统存储过程的弃用问题.
我发现的一个解决方案是:
这种方法似乎在SQL Server 2008 R2中运行良好.但是在SQL Server 2012中,即使脚本看起来运行正常,在运行时,存储过程也会在尝试从上面的系统表中进行选择时失败并显示权限错误.
USE OurDatabase
GO
CREATE CERTIFICATE OurDatabaseProcCert
FROM FILE = 'C:\Path\To\OurDatabaseProcCert.cer'
WITH PRIVATE KEY (
FILE = 'C:\Path\To\OurDatabaseProcCert.pvk',
ENCRYPTION BY PASSWORD = '$0m3$tr0ngp@$$w0rd',
DECRYPTION BY PASSWORD = '$0m3$tr0ngp@$$w0rd');
GO
USE master
GO
CREATE CERTIFICATE OurDatabaseProcCert
FROM FILE = 'C:\Path\To\OurDatabaseProcCert.cer'
WITH PRIVATE KEY (
FILE = 'C:\Path\To\OurDatabaseProcCert.pvk',
ENCRYPTION BY PASSWORD = '$0m3$tr0ngp@$$w0rd',
DECRYPTION BY PASSWORD = '$0m3$tr0ngp@$$w0rd');
GO
CREATE LOGIN OurDatabaseServerLogin
FROM CERTIFICATE OurDatabaseProcCert …Run Code Online (Sandbox Code Playgroud) sql sql-server stored-procedures database-permissions sql-server-2012
我有VS2010 Premium,最近从SQL Server 2008R2升级到2012 Developer Edition.现在,当我尝试部署现有数据库项目(使用2008Rs时创建)时,出现以下错误.
错误{name}:无法确定目标数据库架构提供程序
此外,我没有看到从VS中的可用项目模板创建2012年新数据库项目的选项,因为SQL Server数据工具(作为2012升级的一部分已成功安装)应该可用.
我最近在Windows Server 2008 R2计算机上安装了Visual Studio 2010和SQL Server 2012(包括所有更新/ Service Pack).
尝试从Visual Studio中处理SQL Server数据库时,VS会引发以下错误:
不支持此服务器版本.仅支持最多Microsoft SQL Server 2008的服务器
我记得当我将SQL Server 2008实例更新到SQL Server 2008 R2时,一段时间(在另一台计算机上)得到同样的错误.当时的修复是安装(或重新安装)Visual Studio 2010 SP1.
现在我再次收到此错误(在新计算机上),我认为重新安装VS SP1就像我回过头一样.但是,这样做并没有解决问题.
似乎Visual Studio可能需要另一个更新来支持SQL Server 2012实例.
为清楚起见,以下是我为产生错误所采取的步骤:(使用VS 2010sp1和SQL2012)
任何它的价值的屏幕截图..

我的问题是,有没有解决这个问题?如果是这样,它是什么?
sql-server visual-studio visual-studio-2010-sp1 sql-server-2012 sql-server-2012-express
我有一个SQL Server 2008数据库,我想复制并在服务器上创建一个新的数据库(使用不同的名称).我不关心维护数据,可以创建没有数据的新数据库.我要做的是以下内容:
顺便说一句,我还有两个问题不属于我的任务,但我想考虑以下问题:
如果我在本地安装了SQL Server 2008和SQL Server 2012,我只想亲自尝试一下; 但是我只安装了新版本,并希望保持这种方式.
Microsoft.SqlServer.Types.dll,主要版本10.Microsoft.SqlServer.Types.dll,主要版本为11.除其他外,两个程序集都暴露了一种SqlGeometryBuilder类型.两个程序集版本之间的一个显着区别是2012类型有一个额外的重载方法AddCircularArc,而2008类型没有.
因为并行引用这两个程序集并不是一件容易的事(也许是一个坏主意),我想知道我是否可以使用2012版本 - 即使是针对SQL Server 2008实例,只要我不使用它AddCircularArc.
任何人都可以分享他们的经验吗?
spatial backwards-compatibility sql-server-2008 sql-server-2012 sqlgeometry
我正在尝试编写一个数据库大小的查询结果分页.正如SQL Server 2012所提供的OFFSET/FETCH,我正在使用它.但是在我将语句添加到查询后,需要花费10倍的时间.
查询:
SELECT
p.ShopId,
count(1) as ProductsQuantity,
MIN(LastPrice) as MinPrice,
MAX(LastPrice) as MaxPrice
FROM Product2 p WITH (NOLOCK)
INNER JOIN
CONTAINSTABLE(Product2, ProductName, 'czarny') AS KEY_TBL
ON KEY_TBL.[key]=p.Id
WHERE
(p.LastStatus > 0 OR p.LastStatus = -1)
GROUP BY p.ShopId
ORDER BY p.ShopId asc
SELECT
p.ShopId,
count(1) as ProductsQuantity,
MIN(LastPrice) as MinPrice,
MAX(LastPrice) as MaxPrice
FROM Product2 p WITH (NOLOCK)
INNER JOIN
CONTAINSTABLE(Product2, ProductName, 'czarny') AS KEY_TBL
ON KEY_TBL.[key]=p.Id
WHERE
(p.LastStatus > 0 OR p.LastStatus = -1)
GROUP …Run Code Online (Sandbox Code Playgroud) 突然,所有sql server请求显示"System.ComponentModel.Win32Exception:等待操作超时".找到问题的最快方法是什么?
Stack Trace:
[Win32Exception (0x80004005): The wait operation timed out]
[SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +1767866
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5352418
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +244
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +1691
System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +61
System.Data.SqlClient.SqlDataReader.get_MetaData() +90
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +365
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, …Run Code Online (Sandbox Code Playgroud) 我正在尝试将表变量传递给存储过程,我得到错误:
操作数类型冲突:表与TY_MyType不兼容
以下是相关的代码:
1 - 类型定义
CREATE TYPE [dbo].[TY_MyType] AS TABLE(
[Sampling_ID] [int] NULL,
[Parameter_Name] [nvarchar](32) NULL,
[Measuring_Method_Code] [int] NULL,
[Greater_or_Smaller] [varchar](1) NULL,
[Parameter_Value] [float] NULL,
[Measured_By] [int] NULL,
[No_Measurement_Code] [int] NULL,
[No_Measurement_Comments] [varchar](512) NULL,
[Update_Reason_Code] [int] NULL,
[General_Comment] [varchar](512) NULL
) ;
Run Code Online (Sandbox Code Playgroud)
2 - 在调用过程中声明的本地表变量(有一个INSERT,在将数据传递给另一个过程之前将数据注入此本地表变量)
DECLARE @_l_Tempo_Table TABLE ( Sampling_ID INT ,
Parameter_Name NVARCHAR(32) ,
Measuring_Method_Code INT ,
Greater_or_Smaller VARCHAR(1) ,
Parameter_Value FLOAT ,
Measured_By INT ,
No_Measurement_Code INT ,
No_Measurement_Comments VARCHAR(512) ,
Update_Reason_Code INT ,
General_Comment VARCHAR(512) …Run Code Online (Sandbox Code Playgroud) 我有这个参数
@ID varchar = ‘1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20’
Run Code Online (Sandbox Code Playgroud)
我想做一些事情来分割逗号分隔值.
该string_split功能不起作用,我收到此错误:
STRING_SPLIT功能仅在兼容级别130下可用
我尝试更改我的数据库并将兼容性设置为130,但我没有此更改的权限.
sql-server-2012 ×10
sql-server ×6
sql ×5
t-sql ×2
database ×1
spatial ×1
split ×1
sqlgeometry ×1
ssis ×1