我(在测试目的上)在sql server 2008 r2实例上有许多具有相同模式(基本上相同的表和列)的dbs.
我想要一个查询
SELECT COUNT(*) FROM CUSTOMERS
Run Code Online (Sandbox Code Playgroud)
在实例上的所有DB上.我希望得到2列:
1 - 数据库名称
2 - 的价值 COUNT(*)
例:
DBName // COUNT (*)
TestDB1 // 4
MyDB // 5
etc...
Run Code Online (Sandbox Code Playgroud)
注意:我假设该CUSTOMERS表存在于所有dbs中(除外master).
在我的SQL Server 2008 R2中
表格/视图选项下的脚本选项屏幕选项屏幕查看我找到脚本数据行并希望将该选项设置为True但我失败了.
我找不到任何脚本数据选项.为什么我的SQL Server 2008 R2上缺少脚本数据选项?是否有任何命令来生成插入数据选项.
为什么出现这个问题?怎么解决?提前致谢
使用ASP.NET MVC 3项目一直在使用Entity Framework 4.1的Code First功能.
但是,数据库(SQL Server 2008 R2)不会在应用程序启动时自动创建表映射.关于如何做到这一点的任何想法?
该项目只有一个POCO:
namespace RIS.Models
{
public class Person
{
[Key]
public virtual string NRIC { get; protected set; }
public virtual string FirstName { get; protected set; }
public virtual string MiddleName { get; protected set; }
public virtual string LastName { get; protected set; }
}
}
Run Code Online (Sandbox Code Playgroud)
它还具有以下数据库上下文类:
namespace RIS.Models
{
public class RIS_DB : DbContext
{
public DbSet<Person> People { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我已将SQL连接字符串添加到全局web.config文件中,如下所示:
<add name="RIS_DB" connectionString="Data …Run Code Online (Sandbox Code Playgroud) entity-framework visual-studio-2010 sql-server-2008-r2 ef-code-first asp.net-mvc-3
我创建了一个自动增量的主键.
ID=1, ID=2ID=3如何将自动增量重置或重启为1?
ROW_NUMBER()仅用于SELECT子句中MS SQL Server,但我想将其用于更新,如下所示:
Update MyTab Set MyNo = 123 + ROW_NUMBER() over (Order By ID)
Where a=b;
Run Code Online (Sandbox Code Playgroud)
然后我得到了错误,
窗口函数只能出现在SELECT或ORDER BY子句中.
如何ROW_NUMBER()在UPDATE条款中使用?
我们如何找到数据库中锁定的表?请建议.
sql-server sql-server-2005 sql-server-2008 sql-server-2008-r2 sql-server-2012
这是我的代码:
USE [xxx]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[problemParam]
@StartDate INT = CONVERT(INT,(CONVERT(CHAR(8),GETDATE()-130,112))),
@EndDate INT = NULL
AS
BEGIN
Run Code Online (Sandbox Code Playgroud)
SSMS对我使用的默认值不太满意- 在MSDN DEFINITION HERE中它表示默认值需要是常量而不是变量.
是CONVERT(INT,(CONVERT(CHAR(8),GETDATE()-130,112)))一个变量或常量?它不是传统方式中的一个变量,我认为它是一个变量,但它又不是一个常数'03 jan 2013'.
我该如何解决这个问题?移动CONVERT(INT,(CONVERT(CHAR(8),GETDATE()-130,112)))到调用存储过程的客户端?
编辑
可能重复,因为我刚发现这个SO POST
我在我的SQL Server 2008 R2中偶然发现了一个问题 - 当我打电话时@@SERVERNAME,它正在返回我的OLD计算机的机器名,而不是当前的机器名.为什么是这样?我该如何解决?SQL Server以某种方式记住旧机器名称.
我最近不得不安装SQL Server并将数据库恢复到2台笔记本电脑,第一次花了我几天时间弄明白,第二次我还在苦苦挣扎.
我两个都在这里得到这个错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
我仍然在第二次得到它.
我做了很多研究,并遵循StackOverflow和其他网站上列出的所有步骤,例如确保SQL Server运行TCP和命名管道,确保SQL Server允许远程连接,以及我能找到的所有其他故障排除步骤.
最后我发现我只是在第一台笔记本电脑上输入错误的连接字符串.(localdb)\MSSQLSERVER2012正如它在许多网站上所做的那样,我试图使用(或类似的东西).它在我使用时开始工作.\MSSQLSERVER2012.我以为他们都指向同一个地方,但显然不是.
我真的想再次避免这个问题,并弄清楚如何设置我的第二台笔记本电脑.我怎么知道我是否应该使用.\SQLSERVER2012,(local)\SQLSERVER2012,(localdb)\SQLSERVER2012等?有没有一种简单的方法可以使用命令行工具找到它SqlLocalDb?这首先是如何设置的?
database connection-string sql-server-2008 sql-server-2008-r2 sql-server-2012
我想从一个字符串中的SQL删除空格,但LTRIM和RTRIM功能似乎并没有工作?
柱:
[ProductAlternateKey] [nvarchar](25) COLLATE Latin1_General_CS_AS NULL
Run Code Online (Sandbox Code Playgroud)
查询:
select REPLACE(ProductAlternateKey, ' ', '@'),
LEN(ProductAlternateKey),
LTRIM(RTRIM(ProductAlternateKey)) AS LRTrim,
LEN(LTRIM(RTRIM(ProductAlternateKey))) AS LRLen,
ASCII(RIGHT(ProductAlternateKey, 1)) AS ASCIIR,
ASCII(LEFT(ProductAlternateKey, 1)) AS ASCIIL,
ProductAlternateKey
from DimProducts
where ProductAlternateKey like '46783815%'
Run Code Online (Sandbox Code Playgroud)
结果:
| COLUMN_0 | COLUMN_1 | LRTrim | LRLen | ASCIIR | ASCIIL | PRODUCTALTERNATEKEY |
---------------------------------------------------------------------------------
| 46783815 | 8 | 46783815| 8| 53 | 52 | 46783815 |
| 46783815 | 10|46783815 | 10| 10 | 52 | 46783815 …Run Code Online (Sandbox Code Playgroud)