我有一个“yyyymmdd”格式的日期字段,我需要使用该字段按年份过滤查询。
例如,在我的表中有一个“发布日期”字段,格式为“20180401”,我需要将查询过滤为仅包含 2018 年的记录。
我正在对我们的开发数据库进行干净的备份,以便轻松地重新启动数据库。该数据库有大约 200 个测试用户,应该将其删除以使其真正干净,但问题是我无法删除其中任何一个。
当我运行如下命令时:
DROP USER [MyGarbageUser]
Run Code Online (Sandbox Code Playgroud)
它提示我以下错误:
消息 15284,级别 16,状态 1,第 5 行 数据库主体已授予或拒绝对数据库中的对象的权限,无法删除。
这些用户既不拥有该数据库中的任何对象(据我所知),也不应该拥有。在网上搜索了一大堆后,我仍然无法找到解决方案。
如何强制从该数据库中删除 MyGarbageUser?
我在一家大约有 80 名员工的公司工作,他们似乎都需要定期访问我们的数据库。我没有时间编写应用程序来满足他们的所有需求,所以我只想在每个员工的计算机上安装 SQL Server Management Studio,这样他们就可以自助获取数据。有谁知道是否有一种方法可以为 SQL Server 编写一个包装器,将所有数据库事务保存到一个文本文件中,以便我可以监视每个人所做的更改?
我正在迁移包含 10 个数据库的整个 SQL Server 实例。
它有许多作业和用户。关于主数据库的最佳实践是什么?我也应该备份和恢复它,还是编写用户和作业的脚本?
另外,是否有另一种更好的方法来迁移整个 SQL Server 实例及其所有数据库?
我在启动 SQL Server 2008 时遇到问题。我需要将数据库从一台计算机复制到 seced。我只DATA从我实际工作的服务器复制目录,然后将此目录复制到我新安装的 SQL Server 2008。在此之后,当我启动 SQL Server 时,它不会启动。
我的错误日志是:
2014-01-02 11:54:18.02 Server Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64)
Jul 9 2008 14:17:44
Copyright (c) 1988-2008 Microsoft Corporation
Express Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
2014-01-02 11:54:18.02 Server (c) 2005 Microsoft Corporation.
2014-01-02 11:54:18.02 Server All rights reserved.
2014-01-02 11:54:18.02 Server Server process ID is 6684.
2014-01-02 11:54:18.02 Server System Manufacturer: 'Hewlett-Packard', System Model: 'HP ENVY Sleekbook 4 PC'. …Run Code Online (Sandbox Code Playgroud) 我创建了一个名为“ vegs ”的表,并像这样插入了值。
id name parent
--------------------------------------
1 fruits 0
2 Apple 1
3 Orange 1
4 Grape 1
5 Green Apple 2
6 Red Apple 2
Run Code Online (Sandbox Code Playgroud)
我想递归获取孩子“ 6 ”的所有父母。
我有 sql 查询作为
select sourceIP, sum(sourceBytes)
from flows
group by sourceIP
order by sum(sourceBytes) desc
Run Code Online (Sandbox Code Playgroud)
这带来的结果(虚拟)为:-
sourceIp SourceBytes
192.168.1.2 100
192.168.1.3 79
192.168.1.4 67
192.168.1.5 4
192.168.1.6 4
Run Code Online (Sandbox Code Playgroud)
现在,如果我将查询更改为
select sourceIP, sum(sourceBytes)
from flows
where sourceBytes > 50
group by sourceIP
order by sum(sourceBytes) desc
Run Code Online (Sandbox Code Playgroud)
输出为
sourceIp SourceBytes
192.168.1.2 150
192.168.1.3 40
Run Code Online (Sandbox Code Playgroud)
我现在无法访问数据库,我无法拉/显示真实的表值,但这里我想用greaterthen 语句说明输出已更改。我是第二个查询的视图,我只想处理结果而不是将flows表中的所有值处理为更大范围的值,即 50。我想知道这两个查询的级别不同。谢谢。
任何人都可以为此错误提供解决方案:
无法为数据库“database_name”中的对象“object_name”分配空间,因为“PRIMARY”文件组已满。通过删除不需要的文件、删除文件组中的对象、向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建磁盘空间。
如何从主文件组中删除文件?
如何在 SQL Server 中使用数据库邮件?我在论坛上关注了很多文章,但我失败了很多错误。我在一本书中读到,我必须先安装 SMTP 服务器和 Microsoft Exchange,然后才能使用数据库邮件?这样对吗?
如何拒绝除 sa BY CODE 之外的所有用户访问数据库?我知道如何使用 management studio 中的界面来做到这一点,但我需要在脚本中使用它。