小编mar*_*c_s的帖子

Windows 8 上的 SQL Server 2005 Express

我需要在 Windows 8 Home Edition x64 上安装 SQL Server 2005 Express。

但我收到兼容性错误!

我尝试过 SQL Server 2005 的 SP1、SP2、SP3。

Visual Studio 2008 工作正常。

有什么建议?

sql-server-2005 sql-server windows-8

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

如何在 SQL Server 2012 中配置数据收集?

在 Windows Server R2 Standard 上的 SQL Server 2012 Enterprise 的 SSMS 中,每次我尝试设置数据收集集选项“非缓存 - 按相同计划收集和上传数据”的子选项“按需”时,我是得到错误:

没有计划,收集集无法启动。指定集合集的时间表

在此处输入图片说明

标题:Microsoft SQL Server 管理工作室

对象“磁盘使用情况”上的“更改”操作在执行期间失败。(Microsoft.SqlServer.Management.Sdk.Sfc)

执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)

捕获错误#:14684,级别:16,状态:1,在过程:
sp_syscollector_start_collection_set,行:203,与消息:捕获错误#:14693,级别:16,状态:1,在过程:
sp_syscollector_start_collection_set,行:108,与消息:没有计划就无法启动集合集。指定集合集的计划。(Microsoft SQL Server,错误:14684)

现在,除了启用和禁用已经存在的故障数据收集之外,我看不到如何以任何方式重新设置或重新配置数据收集。

任何想法如何使它工作?

首先,我想了解是我搞砸了它(尽管我在不同的机器上尝试过)还是其他人?

更新:
Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)
企业版:Windows NT 6.1 上的基于核心的许可(64 位)(内部版本 7601:Service Pack 1)(管理程序)

sql-server sql-server-2012 debugging troubleshooting

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

适用于 1160 个用户的 MS Access + SQL Server - 值得吗?(请帮忙!)

我们位于德里(印度)的学校希望开发一个专业且强大的内部数据库 (SIS),以处理大量学生信息,包括招生、注册、重新注册、学生行为管理和评分。我们注意到,如果没有大量的定制和成本,现成的产品无法完成我们的特定任务。因此,我们决定自己开发这个,因为我们可以完全控制我们希望如何将我们的信息报告给我们的教育委员会(根据他们的规范),并且可以控制我们复杂的评分系统(不断更新以满足动态我们教育委员会的基准需求)。

我们已经开始使用 MS Access 并且仍处于开发的初级阶段。我们想知道是否应该使用 MS Access 作为前端,SQL Server 作为后端 DB,因为我们要完成以下任务:

  1. 能够让80 多名员工用户同时访问、发布、更新和删除 SIS 数据库内的客户记录(在校园内)。

  2. 我们的 SIS DB 能够具有基于 Web 的功能,并在我们的学校网站中集成了一个学生登录门户,因此1080 多名学生可以从他们的家中同时访问特定的基于 Web 的 DB 表格(通过使用学生登录门户)以更新个人记录、检查成绩和其他表现总结。

  3. 我们的 SIS 数据库能够保持高度安全和 24/7 全天候运行,不会出现中断和安全漏洞(我们了解到,仅靠 MS Access 无法做到这一点)。

  4. 能够将我们的 SIS 数据库与另一个内部数据库集成,该数据库将在舒适的家中为学生提供数字学习材料(也可通过学生登录门户访问)。数字学习资料数据库是我们正在创建的另一个数据库,它应该能够存储价值 100 GB 的多媒体资料。

  5. 能够无延迟地将数据从表中快速提取到 GUI。

我们学校在这方面的一个主要因素是成本。他们希望创建低于 1,500 美元的数据库,并希望有许多用户能够同时访问该系统。请帮助我决定我应该如何处理这种情况,无论是性能方面还是成本方面。对于提供的冗长细节,我深表歉意。我真的很困惑,如果有人能在这件事上帮助我,我将不胜感激。

此外,我们希望我们的表单像在主要数据库系统中看到的那样专业。我们注意到 Access 可以创建表单,但只能在一定程度上创建。是否有任何其他系统编程友好的平台可以用来创建高度复杂和专业的数据库表单(例如 Visual Studio)?也将非常感谢有关此主题的帮助。

安基斯

ms-access database-design sql-server

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

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

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

[SqlFunction(DataAccess = DataAccessKind.Read, SystemDataAccess = SystemDataAccessKind.Read)]
public static SqlString ExecSql2Json(SqlString sql)
Run Code Online (Sandbox Code Playgroud)

或者我已经尝试过:

[SqlFunction(DataAccess = DataAccessKind.Read, SystemDataAccess = SystemDataAccessKind.Read)]
public static SqlChar ExecSql2Json(SqlChar sql)
Run Code Online (Sandbox Code Playgroud)

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

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

varchar functions sql-clr visual-studio-2013

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

帮助超出范围的值

我有这个查询给我一个错误

将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。

询问:

select 
    COUNT(*) 
from 
    dbo.patient
INNER JOIN 
    dbo.study on dbo.patient.pk = dbo.study.patient_fk
              and dbo.study.study_datetime IS NOT NULL
              and dbo.patient.pat_birthdate IS NOT NULL
              and dbo.study.study_datetime <= DATEADD(D, -2192, GETDATE())
              and dbo.patient.pat_birthdate <= DATEADD(D, -7670, GETDATE());
Run Code Online (Sandbox Code Playgroud)

我读到这可能有助于转换为“DATETIME2”,但我无法弄清楚如何正确转换列“s.study_datetime”,因为该列很可能有一些错误的值作为条目。

sql-server-2008-r2 datetime2

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

想将两行合并为一行

我现在得到的结果是:

EmployeeNo  Column1   Column2
================================
1           |  NULL       | Column2
1           |  Column1    |   NULL 
Run Code Online (Sandbox Code Playgroud)

我想要像

EmployeeNo  Column1   Column2
================================
1          | Column1  |   Column2
Run Code Online (Sandbox Code Playgroud)

请提供任何帮助或方法来做到这一点

提前致谢

sql-server

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

SQL Server 2005 日志截断 - 60Gb 日志的长度;分钟、小时还是天?

我接管了一个旧网站。长话短说,托管计算机的人备份所有数据库文件,但没有备份维护计划(例如,他们实际上是从磁盘备份文件,因此不会发生截断)。

恢复模式为FULL (SQL Server 2005)。

这有点像“一根绳子有多长”的问题,但只需要一个棒球场数字来说明截断需要多长时间:

BACKUP LOG  databasename  WITH TRUNCATE_ONLY
Run Code Online (Sandbox Code Playgroud)

60Gb 日志(机器是合理的英特尔 4 核 2.5Ghz 8Gb 机器(不是 SSD 驱动器))可能需要几分钟、几小时或几天?

sql-server-2005 sql-server backup truncate transaction-log

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

使用参数化 SQL 时,SQL Server 正在缓存具有相同查询的查询计划

我在 SQL Server 2012 SP1 中使用参数化 SQL 查询。

参考sys.dm_exec_cached_planssys.dm_exec_query_stats,优化器似乎多次创建相同的计划,而不是重用已经存在的计划。

该服务器有很多与同一缓存计划query_hashquery_plan_hash,(目前和增加正是4700个计划)。

我的问题是:

  1. 这种情况正常吗?
  2. 为什么优化器一次又一次地创建一个已经存在的新计划?
  3. 有没有一种好方法可以强制优化器根据参数化 SQL 重用查询计划?

sql-server

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

这些参数在我的 SQL Server 查询计划开始时意味着什么?

我正在查看 SQL Server Mgmt Studio 中的查询计划,我看到如下内容:

(@P0 nvarchar(4000), @P1 nvarchar(4000)) Update...
Run Code Online (Sandbox Code Playgroud)

参数旁边的类型是什么意思?对于此示例,我们假设这些参数的列实际上是varchar(64). 这是在运行时绑定参数的方式吗?

编辑

这是一个使用 JDBC 3.0 或 4.0 提供程序的 Java EE 应用程序。基本上我们有一个充满 SQL 语句的属性文件,如下所示:

mySqlStatementFoo = UPDATE Schema.Table.Column set column = 1 WHERE objectID = ?
Run Code Online (Sandbox Code Playgroud)

看起来在过去,如果存在绑定不匹配,我们会像这样转换参数:

Where objectID = CAST(? AS VARCHAR(36))
Run Code Online (Sandbox Code Playgroud)

我想他们选择这样做是因为我们支持多个数据库。IE DB2 和 Oracle。我还没有看到实际的 Java,但我怀疑他们只是从文件中选择语句并将其发送到网络中。我在做负载测试,看到我们在做表扫描,怀疑优化器没有使用正确的索引,因为参数绑定不正确。

sql-server jdbc

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

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

如果我在 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'
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

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

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

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

sql-server sql-server-2008-r2 extended-events

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