使用SQL Server 2012:
use master
select *
Run Code Online (Sandbox Code Playgroud)
产量
必须指定要选择的表
这正是我所期待的.
但有趣的是
use master
select count(*)
Run Code Online (Sandbox Code Playgroud)
返回1.
有人可以向我解释这里算什么?
编辑:可能包括来源......
我有一个SQL Server [2012 Express with Advanced Services]数据库,其中没有太多内容.我正在使用EF Code First开发一个应用程序,由于我的模型仍然处于不稳定状态,因此数据库每天都会被丢弃并重新创建几次.
今天早上,我的应用程序在第一次运行时无法连接到数据库.经过调查,似乎数据库处于"恢复待定"模式.
查看事件日志,我可以看到SQL Server已记录:
启动数据库(我的数据库)
......整晚大约每秒两次.(事件日志填满了,所以昨天晚上我看不到).
这些"信息"日志条目在今天早上6点左右停止,紧接着是"错误"日志条目,说:
资源池"internal"中没有足够的内存来运行此查询
我的数据库发生了什么事?
注意:我可能会让我的Web应用程序在"调试"模式下一夜之间运行 - 尽管没有任何人"驱动"它,我无法想象会有很多数据库流量,如果有的话.
还值得一提的是,我在数据库中有一个全文目录(尽管如我所说,目前数据库中几乎没有任何实际内容).
我不得不说,这很令人担忧 - 如果发生在我的生产数据库中,我会感到很高兴!
我在我的服务器上运行了应用程序.这个应用程序的问题是每天我得到近10-20,System.Data.SqlClient.SqlException Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding只有我的一个SP.这是我的SP,
ALTER PROCEDURE [dbo].[Insertorupdatedevicecatalog]
(@OS NVARCHAR(50)
,@UniqueID VARCHAR(500)
,@Longitude FLOAT
,@Latitude FLOAT
,@Culture VARCHAR(10)
,@Other NVARCHAR(200)
,@IPAddress VARCHAR(50)
,@NativeDeviceID VARCHAR(50))
AS
BEGIN
DECLARE @OldUniqueID VARCHAR(500) = '-1';
SELECT @OldUniqueID = [UniqueID] FROM DeviceCatalog WHERE (@NativeDeviceID != '' AND [NativeDeviceID] = @NativeDeviceID);
BEGIN TRANSACTION [Tran1]
BEGIN TRY
IF EXISTS(SELECT 1 FROM DeviceCatalog WHERE [UniqueID] = @UniqueID)
BEGIN
UPDATE DeviceCatalog
SET [OS] …Run Code Online (Sandbox Code Playgroud) 我要求获取记录的总数和分页.目前我在SQL Server 2012中列出如下所示.这需要一个单独的查询来获取计数.SQL Server 2012中是否有任何改进的方法?
ALTER PROCEDURE dbo.tpGetPageRecords
(
@OffSetRowNo INT,
@FetchRowNo INT,
@TotalCount INT OUT
)
AS
SELECT CSTNO, CSTABBR
FROM DBATABC
WHERE CSTABBR LIKE 'A%'
ORDER BY CSTNO
OFFSET ( @OffSetRowNo-1 ) * @FetchRowNo ROWS
FETCH NEXT @FetchRowNo ROWS ONLY
SET @TotalCount =
(SELECT COUNT(*)
FROM DBATABC
WHERE CSTABBR LIKE 'A%')
GO
Run Code Online (Sandbox Code Playgroud) 我正在使用一个包含的数据库,在创建数据库之后我试图创建一个用户,但是我得到了错误:
您只能在包含的数据库中创建具有密码的用户
我的代码是:
sp_configure 'show advanced options',1
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'contained database authentication', 1
GO
RECONFIGURE WITH OVERRIDE
GO
Run Code Online (Sandbox Code Playgroud)
CREATE DATABASE [MyDb]
CONTAINMENT = PARTIAL
ON PRIMARY
( NAME = N'My', FILENAME = N'C:\My.mdf')
LOG ON
( NAME = N'My_log', FILENAME =N'C:\My_log.ldf')
Run Code Online (Sandbox Code Playgroud)
CREATE USER MyUser
WITH PASSWORD = 'pass@123';
GO
Run Code Online (Sandbox Code Playgroud) 这是我第一次在SQL Server 2012中使用SSIS.我可以成功读取excel文件并将其内容加载到SQL Server 2012中的表中.该任务是一个简单的直接读取excel文件,然后复制到sql server而没有验证或改造现在.任务很成功.但是当我试图让包从变量而不是原始的硬编码中读取文件名时,它产生了一个错误"DTS_E_OLEDBERROR.发生了OLE DB错误.错误代码:0x80040E4D"

我所做的只是用一个表达式替换excel连接管理器中的硬编码连接字符串,该表达式获取由表达式指定的变量的值

在数据流任务开始之前为变量分配了值.检查变量并确实具有正确的值.

但是,当数据流任务开始时,会生成以下错误.

如果有人能指出我做错了什么并建议我如何解决问题,我们将不胜感激.
我有一个非常大的数据库(50+ GB).为了释放硬盘中的空间,我尝试从其中一个表中删除旧记录.我跑了命令:
delete from Table1 where TheDate<'2004-01-01';
Run Code Online (Sandbox Code Playgroud)
但是,SQL Server 2012说:
Msg 9002, Level 17, State 4, Line 1
The transaction log for database 'MyDb' is full due to 'ACTIVE_TRANSACTION'.
Run Code Online (Sandbox Code Playgroud)
并没有删除任何东西.这条消息是什么意思?如何删除记录?
例如,我有这样的声明:
my name is Joseph and my father's name is Brian
Run Code Online (Sandbox Code Playgroud)
此语句按字分割,如下表所示:
------------------------------
| ID | word |
------------------------------
| 1 | my |
| 2 | name |
| 3 | is |
| 4 | Joseph |
| 5 | and |
| 6 | my |
| 7 | father's |
| 8 | name |
| 9 | is |
| 10 | Brian |
------------------------------
Run Code Online (Sandbox Code Playgroud)
我想得到每个单词的上一个和下一个单词
例如,我想获得"name"的上一个和下一个单词:
--------------------------
| my | name | is | …Run Code Online (Sandbox Code Playgroud) 我使用SQL Server,我有3个应用程序服务器.当我的数据库中的表发生更改时,我需要向那些应用程序服务器刷新本地缓存的数据.我使用触发器来进行已知更改并通过服务代理队列发送消息.然后我创建一个存储过程并分配它来激活我的队列的存储过程,在这个存储过程中我收到消息,但我不知道如何在我的应用程序中调用refresh方法.
c# sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012
我正在尝试复制数据库.通过复制数据库向导时,我收到执行SQL Server代理作业错误.错误说明
工作失败了.检查目标服务器上的事件日志以获取详细信息
执行操作
添加包的日志(成功)
添加传输数据库对象的任务(成功)
创建包(成功)
启动SQL Server代理作业(成功)
执行SQL Server代理作业(错误)
错误:
工作失败了.检查目标服务器上的事件日志以获取详细信息.(复制数据库向导)
我似乎无法找到造成这个问题的原因.我使用正确的方法吗?我只需要复制这个数据库.提前致谢.
sql-server-2012 ×10
sql-server ×8
sql ×5
ado.net ×1
agent ×1
asp.net ×1
c# ×1
copy ×1
count ×1
database ×1
jobs ×1
pagination ×1
rows ×1
ssis ×1