一点信息。
我正在运行 SQL SERVER 2008 R2 64 位。我安装了 Microsoft.ACE.OLEDB.12.0 提供程序。
在我的生产服务器上,我使用上面列出的提供程序为访问数据库设置了一个链接服务器,一切正常。
将 Access db 复制到我们的开发环境并尝试使用相同的提供程序设置链接服务器。测试连接成功返回从链接服务器中选择返回
消息 7399,级别 16,状态 1,第 1 行链接服务器“MYdb”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”报告错误。提供者没有提供有关错误的任何信息。消息 7330,级别 16,状态 2,第 1 行无法从链接服务器“MYdb”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”中获取一行。
两台服务器都运行相同版本的 SQL Server。两者都是 Windows NT 6.1 64 位操作系统。
当我将 AllowInProcess 设置为 1 时,测试连接失败。
任何帮助将不胜感激,因为谷歌让我失望。
谢谢,
克里斯
是否可以使用 SQL Server 2008 R2 Management Studio 管理 SQL Server 2008 数据库?
我跑了@@version。
这是它给我的:
Microsoft SQL Server 2008 (SP2) - 10.0.4000.0 (X64) 2010 年 9 月 16 日 19:43:16 版权所有 (c) 1988-2008 Microsoft Corporation Enterprise Edition(64 位),Windows NT 6.0(内部版本 6002:Service Pack 2)
我怎么知道这是否是 r2?
我在当前的工作中使用 SQL Server 2008,我连接到安装 SQL Server 2008 实例的(备份)服务器的方式是从我的本地工作机到 Windows Server 2003 计算机执行远程桌面,其中 SQL Server 2008 数据库程序和数据库文件存储(也在我们的本地网络上)...
这工作正常,但唯一的问题是 SQL Server 安装没有安装 SSRS、SSIS 或 BI 工具。我知道安装这些功能相当容易,但我想知道我是否能够通过互联网连接(而不是 LAN)在完全不同的计算机上使用不同的 SQL Server 2008 安装连接到数据库?
例如,如果我在家用计算机上安装了全新的 Sql Server 2008 并具有所有需要的功能(SSIS、SSRS、BI 工具),我是否能够打开 Management Studio 并连接到 SQL Server 2008 数据库服务器/引擎在我的工作场所?
我们的应用程序通过调用他们的存储过程之一与合作伙伴的应用程序交互。他们坚持在他们的代码中使用 NOLOCK 提示,这是一个很长的存储过程。我们间歇性地获得错误数据并怀疑存在竞争条件。
除了手动更改他们的存储过程之外,有什么方法可以在执行时覆盖他们的 NOLOCK 提示?
注意——我们进行存储过程调用的代码是一个 .NET 应用程序,以防它为我们提供任何其他选项。
我有两个集群,每个集群有两个配置为主动/被动的节点;两个集群使用单独的服务器作为见证人参与高可用性镜像会话。
当主集群中的一个节点出现故障时,镜像故障转移似乎在主集群的辅助节点有时间上线之前就开始了。
有没有告诉见证服务器让被动节点在启动故障转移到辅助集群之前尝试联机?
如果我没记错的话,上次Microsoft Sqlcmd要求每个命令都以';'结尾 然后按 Enter 键执行命令。
但是,目前,我们需要在GO每次执行命令时键入 。
那么,是否有其他替代方法,当我们在以“;”结束命令后按 Enter 键时,它会执行命令吗?
关于在 SQL Server 2008 存储过程中将 Cursors 与 RETURN 结合使用的问题
考虑这个例子:
CREATE PROCEDURE [dbo].[test]
@ReturnEarly BIT = 0
AS
BEGIN
SET NOCOUNT ON
SELECT 1 AS Result INTO #Test
DECLARE @Result INT, @HasResult INT = 1
DECLARE TestCursor CURSOR FOR
SELECT Result
FROM #Test
WHERE Result = 0
OPEN TestCursor
FETCH NEXT FROM TestCursor INTO @Result
IF (@@FETCH_STATUS <> 0)
BEGIN
IF (@ReturnEarly = 1)
RETURN 0
ELSE
SET @HasResult = 0
END
CLOSE TestCursor
DEALLOCATE TestCursor
DROP TABLE #test --technically …Run Code Online (Sandbox Code Playgroud) 我使用SQL Server 2008 R2并知道Indexed View不能有自我加入。
我有一个树表有ID和ParentID列,我需要在这个表上创建索引视图自每个记录与父记录之间的连接。我可以在这个视图中模拟自连接吗?
编辑
我的表结构是:
SAM.Detail (DetailID Int, ParentDetailID Int, Quantity Int, ...)
Run Code Online (Sandbox Code Playgroud)
我的查询是:
Select A.DetailID,
A.Quantity - SUM(B.Quantity) as RemainQuantity,
COUNT_BIG(*) as CountBig
From SAM.Detail A
inner join SAM.Detail B ON B.ParentDetailID = A.DetailID
Group By A.DetailID, A.Quantity
Run Code Online (Sandbox Code Playgroud) sql-server-2008 sql-server sql-server-2008-r2 view materialized-view
我正在 Sql Server 上设置维护计划。
我想在计划中添加一个执行 T-SQL 语句任务,但是我没有看到任何方法可以将此任务设置为在每个 [user|system|all] 数据库中运行,因为您可以在几乎所有其他任务类型中运行。
有没有办法做到这一点,也许在脚本中使用“就地”参数来替换数据库名称?
我想在维护计划中运行一个夜间脚本,但它需要能够将数据库名称放入脚本中。
我是否应该从维护计划中调用一个存储过程,该过程使用动态 SQL 遍历所需的所有数据库来执行我的语句?
sql-server-2008 ×10
sql-server ×7
clustering ×1
maintenance ×1
mirroring ×1
sqlcmd ×1
ssms ×1
t-sql ×1
view ×1