db_ddladmin固定数据库角色是否包含db_datareader和db_datawriter权限,以便您不必明确授予这些权限?
我在 Windows 7 上安装了 sql server 2008 然后我创建了一个数据库!2天后,我重新安装了windows并安装了sql server!现在我正在尝试附加我的数据库文件,但我遇到了以下错误。我认为这些文件就像一个附件,我无法附加它们。附加文件和未附加文件有什么区别?我怎样才能附加这个文件?请帮我。
错误文本:
标题:Microsoft SQL Server 管理工作室
服务器“AMIR-PC”的附加数据库失败。(Microsoft.SqlServer.Smo)
如需帮助,请单击:http : //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1540+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates .FailedOperationExceptionText&EvtID=Attach+database+Server&LinkId=20476
附加信息:
执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)
无法打开物理文件“F:\Company.mdf”。操作系统错误 5:“5(访问被拒绝。)”。(Microsoft SQL Server,错误:5120)
如需帮助,请单击:http : //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476
出于安全原因,更改 Microsoft Sql Server 的端口是很常见的。此处讨论的主题是更改 SQL Server 端口真的那么安全吗?
我的问题是:这也适用于 PostgreSQL 吗?还是不相关?
为 SQL Server创建连接字符串的最佳方法是什么?
我应该使用受信任的连接字符串(Windows 身份验证)还是不受信任的连接字符串(sql server 身份验证),为什么?
我关心的是让我的连接字符串更安全,这样它就不会受到攻击的影响。
我在许多论坛上读到 Windows 身份验证更安全,如果我们使用 SQL Server 身份验证,那么用户 ID 和密码可以通过网络嗅探。
我们有一个应用程序用户,该用户已获得对相应数据库的读写权限。默认情况下,该用户可以查询 sys 表。我还听说,有时此用户需要能够获取数据库中存在的表和列的列表。让用户对 sys 表具有读访问权限是否存在任何安全风险?
我在 SQL Server 2008 服务器上设置了 SSAS 数据库。我为一组用户设置了一个角色,我希望能够访问该数据库中的多维数据集。无论它说什么,我都设置了“读取定义”和“读取访问”,但这似乎不起作用。
用户可以打开我之前设置的数据透视表,但不会显示任何时间,但维度数据会显示得很好(用户、部门等)。
然后我设置了一个个人用户并给了他们完全控制权(管理员),效果很好。我缺少什么可以让他们正确访问多维数据集?进程数据库?还有什么?
问完这个我还有一个问题。
公司需要存储敏感数据。请我们现在不要谈论证书。
一个DBA执行以下操作:
CREATE SYMMETRIC KEY SecureSymmetricKey1
WITH ALGORITHM = DESX
ENCRYPTION BY PASSWORD = N'blabla';
Run Code Online (Sandbox Code Playgroud)
一个程序员想要加密数据并执行以下操作:
-- open key
OPEN SYMMETRIC KEY SecureSymmetricKey1
DECRYPTION BY PASSWORD = N'blabla'
-- actual encrpyt
DECLARE @encrypted_str VARBINARY(MAX)
SET @encrypted_str = EncryptByKey(Key_GUID('SecureSymmetricKey1'),'my data');
Run Code Online (Sandbox Code Playgroud)
另一个程序员想要读取数据,所以他这样做:
DECLARE @decrypted_str VARBINARY(MAX)
SET @decrypted_str = DecryptByKey(...encrypted_str...)
Run Code Online (Sandbox Code Playgroud)
一切都很好。
问题 :
当程序员打开对称密钥时,他必须知道密码。我不认为程序员应该知道密码。如何解决?
如果一个 GOD 黑客得到了整个.BAK文件并将备份恢复到他自己的机器上 - 他可以查看其中一个程序员编写的存储过程源,并查看密码。然后黑客可以做:
开放对称密钥 SecureSymmetricKey1 密码解密 = N'blabla'
我错过了什么?
谢谢你的帮助。
我目前正在开发一个基于 LAMP 的网站。我不知道自从 MySQL 安装在我们的服务器上以来对它进行了哪些配置更改。我们使用 MySQL 的方式,我们的数据库没有理由接受任何远程连接;它只需要通过 PHP 或通过 ssh 会话通过命令行 shell 在本地访问。
出于安全原因,我想确保无法远程连接到我们的数据库。我需要检查哪些设置以确保是这种情况?我可以在某处设置一个选项来阻止所有远程连接吗?
我们有一个配置为以用户“dbo”身份运行的 SQL 代理作业。此作业获取sys.databases中定义的与命名方案匹配的数据库列表。然后该作业执行一些动态 SQL 来清理一些旧的事务表。作业从 tempdb 开始。
代理作业在我自己的开发数据库(SQL Server 2008 R2 标准版 10.50.2500.0)上运行良好。作业正确获取数据库列表。但是,在客户系统(SQL Server 2008 R2 标准版 64 位 10.50.1600.1)上,尽管存在匹配的数据库,但作业找不到任何匹配的数据库。
在客户系统上,select * from sys.databases在查询窗口中针对 tempdb的简单运行将返回系统中的所有 10 个数据库。
使用探查器,我EXECUTE AS USER = N'dbo' WITH NO REVERT在运行此作业时看到 SQL 代理调用。我使用以下 SQL 复制了该问题:
use tempdb
-- results: tempdb, <my SQL user>, dbo
select
db_name() as [Current Database],
suser_name() as [Current Context],
user_name() as [Current User]
-- results: tempdb, 10 (which I expect)
select
db_name() as [Current Database],
count(*) …Run Code Online (Sandbox Code Playgroud) 当我在 SQL Server 登录中发现这个“NT AUTHORITY\ANONYMOUS LOGON”帐户时,我的蜘蛛感觉很刺痛。我试图研究这个问题,我什至有一本关于 SQL Server 管理的书。此外,我所做的所有网络搜索似乎都只与登录问题有关。该帐户不在我拥有的本地 SQL express 安装上,所以我真的不知道是否有人在那里添加了它,如果是,为什么。
无论如何,我对此的看法如下:此帐户似乎允许我域中的每个人登录。这似乎是错误的,我想关闭它。我担心的是,如果我关闭此帐户,应用程序是否会开始无法登录?在这方面,用户/密码登录是否被视为“匿名”?换句话说,除了 AD 帐户之外,是否需要此登录才能正常工作?
我希望我可以测试它,但它可能会在生产环境中造成一些损害。