SQL Replication: Access snapshot folder is denied (SQL Server 2008) - sql-server

When i created distributor, snapshot folder have share to network with this path:
\ComputerName\repldata
But when i use merge replication with pull method, this message was fired:
Source: mscorlib
Target Site: Void WinIOError(Int32, System.String)
Message: Access to the path 'C:\Program Files\Microsoft SQL
Server\MSSQL12.SQL2014\MSSQL\repldata\unc\VLASERVER$SQL2014_TESTDB_TESTDB\20170208090120\'
is denied. Stack: at System.IO.__Error.WinIOError(Int32 errorCode,
String maybeFullPath)
at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj, Boolean checkHost)
at System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost)
at Microsoft.SqlServer.Replication.Utilities.CreateDirectoryWithExtendedErrorInformation(String
directory)
at Microsoft.SqlServer.Replication.Snapshot.SnapshotProvider.CreateSnapshotFolders()
at Microsoft.SqlServer.Replication.Snapshot.MergeSnapshotProvider.CreateSnapshotFolders()
at Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.GenerateSnapshot()
at
Microsoft.SqlServer.Replication.SnapshotGenerationAgent.InternalRun()
at Microsoft.SqlServer.Replication.AgentCore.Run() (Source: mscorlib,
Error number: 0) Get help: http://help/0

You need to grant access to the snapshot folder to whatever account you are using for replication. This can be a separate account or the account that runs your SQL Server. Probably the easiest thing to do would be to just grant full access to "Everyone", see if that works, if it does then that's your problem and you just need to track down the account that replication is running as.

You have to provide "Full Control" access to the snap shot folder for the account you are using for replication. Along with this, you have to configure distribution for the same server where your snap shot folder is created and the name of your distributor server should be same as the name of your SQL SERVER (sql server instance should be of the distributor server). This worked for me.

Related

SQL Server Management Studio access denied

I'm getting an error, says "Could not load the DLL xpstar.dll... Reason: 5(Access is denied)" right after logging into SQL Server Management Studio . Even though I can browse through the database schemas but I can't perform any action.
`My current configuration:
SQL Server Enterprise 2016
SQL Server 2016 Management Studio
Authentication mode: mixed mode`
SQL Server services
Binn folder permissions
What I've tried to figure out the cause:
Check Sql server services and they are all running.
Try connecting and performing some actions with SQLCMD (list tables, list db schemas...). It's all good.
Run SSMS as administrator.
Check permissions of BINN folder.
Disable Kaspersky Endpoint Security.
None of above steps can resolve the issue. So please kindly help me to fix it.
It turns out the folder ownership is the root cause. MSSQL and its subfolders were owned by SYSTEM. Even though Administrators group were assigned full control but They couldn't access to the folder. Probably, Kaspersky is involved. I'm not sure about that.
Solutions:
Change ownership of folder MSSQL (Drive:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL) from SYSTEM to Administrator.
Run SSMS as Administrator and problem is solved.

Restore SQL Server 2012 error

I backed up a database from a SQL Server 2005 using my SSMS Task and called it datalab_auth.bak.
I then tried to restore it to my SQL Server 2012 but keep getting the following error:
System.Data.SqlClient.SqlError: The operating system returned the error '5(Access is denied.)' while attempting 'RestoreContainer::ValidateTargetForCreation' on 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQL11\MSSQL\datalab_auth.mdf'. (Microsoft.SqlServer.SmoExtended)
I tried to set the path in the above error to have permissions of Everyone to Full. Which it is currently set to.
What am I missing?
When you are performing a restore, make sure you set the option to "Overwrite the existing database" in the restore wizard.
Check what account you are using to run the SQL service through the SQL Configuration Manager and assign permissions to the account on the file and folder.
This post might help:
mssql '5(Access is denied.)' error during restoring database
The OS error 5 is about to permissions issue on the files and folder paths, I have check my account on config manager to fix this issue.
The fix steps on my case:
open SqlServer Configuration Manager as administration
Click SqlServer Service
Right click on you sql server instance, click properties
Choose Log On tab
Account name: input your administrator account and password.
Then backup database successfully.
The environment is that, the OS is Win7 and the version of sql server is MS Sqlserver 2012
This worked for me. After you select your database to restore, select file option and check realocate all files to folder

Restore Backup Access Denied

I'm trying to restore a backup from a .bak file to a local database server and keep getting the error message.
An exception occurred while executing a Transact-SQL statement or batch.(Microsoft.SqlServer.ConnectionInfo)
Cannot open backup device 'C:\Clients\SQLitis\jMKZ.bak'. Operating system error 5(Access is denied.).
RESTORE HEADERONLY is terminating abnormally. (Microsoft SQL Server, Error: 3201)
No idea where to even start troubleshooting this. I'm on an administrator account and have full privileges so there shouldn't be anything to deny me doing this but I'm still getting the error message.
Sounds like the service account that SQL Server runs under does not have permission to folder C:\Clients\SQLitis.
When SQL Server was installed, it hopefully was set up to use a domain user account (the "service account") that is NOT an administrator on the machine. As such, the SQL Server installer only grants permissions to the folders the SQL Server setup creates.
You need to give permission to that folder to the user account that SQL Server acts as. In my case it was NT Service\MSSQLSERVER
You can find/change the SQL Server user in SQL Server Configuration Manager. Here's a link that shows how:
http://www.bidn.com/blogs/ShawnHarrison/ssis/2134/access-denied-during-database-backup
Maybe a little hacky, but I solved the issue by copying the .bak file into the designated backup folder. That way I didn't have to change any permissions.

SQL Server Management Studio: Database Attachment Failed

I have publish my website in IIS7. It is running in DefaultAppPool. The Identity of this app-pool is set to LocalSystem. The IIS is running and I can run the application from IIS without any problem.
Now I want to attach the database placed in inetpub's application folder:
C:\inetpub\wwwroot\EMSApplication\App_Data\ASPNETDB.mdf
I have added new logins in the SSMS which are: NT AUTHORITY\NETWORK SERVICE and IIS APPPOOL\DefaultAppPool.
But when I am trying to attach that database in the SSMS I am getting follwoing error:
TITLE: Microsoft SQL Server Management Studio
Failed to retrieve data for this request.
(Microsoft.SqlServer.Management.Sdk.Sfc)
For help, click:
http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------ ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or
batch. (Microsoft.SqlServer.ConnectionInfo)
CREATE FILE encountered operating system error 5(Access is denied.)
while attempting to open or create the physical file
'C:\inetpub\wwwroot\EMSApplication\App_Data\ASPNETDB.MDF'. (Microsoft
SQL Server, Error: 5123)
For help, click:
http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.5500&EvtSrc=MSSQLServer&EvtID=5123&LinkId=20476
------------------------------ BUTTONS:
OK
By default Microsoft SQL Server Management Studio works against a Parent Instance of SQL Express, not your User Instance. A user instance is a separate instance of the SQL Server Express Database Engine that is generated by a parent instance. User instances allow users who are not administrators on their local computers to attach and connect to SQL Server Express databases. Each instance runs under the security context of the individual user, on a one-instance-per-user basis. Here is a manual from msdn How to connect to a User Instance.
I was able to do that running Management Studio As Administrator.
I had same problem.your .mdf and .ldf files don't have necessary permission.
you should add your windows account in both .mdf and .ldf files and give it full control permission.
Now you can attach your database successfully.

Importing a .cvs file into a detached .mdf?

I was asked to repost this question, due to the answers were not going the right directions.
I have a detached database similar to to Northwind.MDF I want to import a .CVS file into this MDF file. I have the mdf file as part of my Solution Explorer in vs2010 and I can look work with the data, just no way to import. In vs2010 I can use the Server Explorer and connect with no problems. the connection string looks like this:
Data Source=.\SQLEXPRESS;AttachDbFilename=D:\ASPX\sdb1\customer.mdf;Integrated Security=True;User Instance=True
When I try to use any tool outside of vs2010 I cannot connect. Non of the sqlserver tools connect and give me an access denied, even when I try to attach the file from within Management Studio.
TITLE: Microsoft SQL Server Management Studio
Attach database failed for Server 'STEPHANS-PC\SQLEXPRESS'. (Microsoft.SqlServer.Smo)
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
Unable to open the physical file "D:\ASPX\sdb1\customer.mdf". Operating system error 5: "5(Access is denied.)". (Microsoft SQL Server, Error: 5120)
This should not be this tuff to import data from a CSV.
You have to connect to your user instance database using an special connection string.
An user instance database is a sql express database based upon an mdf file (just what you have).
This link explains how to connect from SSMS to your User Instance Database:
How to: Connect to a User Instance

Resources