I am trying implement replication and having problem when creating push subscription to an existing transactional replication publication.
The distribution agent is failing to run its job with the error:
Agent message code 14260. You do not have sufficient permission to run this command. Contact your system administrator.
I followed the http://msdn2.microsoft.com/en-us/library/ms151868.aspx article instructions when I set the distribution agent properties
What did I miss?
The following is the step error message:
Date 1/12/2007 2:30:01 PM
Log Job History (105342-DB3PROD-MOMA-ArchivedTransactions-105337-DEV2-15)
Step ID 2
Server 105342-DB3PROD
Job Name 105342-DB3PROD-MOMA-ArchivedTransactions-105337-DEV2-15
Step Name Run agent.
Duration 00:00:00
Sql Severity 0
Sql Message ID 0
Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 0
Message
2007-01-12 19:30:01.258 Microsoft SQL Server Replication Agent: distrib
2007-01-12 19:30:01.258
2007-01-12 19:30:01.258 The timestamps prepended to the output lines are expressed in terms of UTC time.
2007-01-12 19:30:01.258 User-specified agent parameter values:
-Subscriber 105337-DEV2
-SubscriberDB MOMA
-Publisher 105342-DB3PROD
-Distributor 105342-DB3PROD
-DistributorSecurityMode 1
-Publication ArchivedTransactions
-PublisherDB MOMA
-XJOBID 0x65C41EBC553D96439BAF69E4DC3CC823
-XJOBNAME 105342-DB3PROD-MOMA-ArchivedTransactions-105337-DEV2-15
-XSTEPID 2
-XSUBSYSTEM Distribution
-XSERVER 105342-DB3PROD
-XCMDLINE 0
-XCancelEventHandle 00000000000006E8
2007-01-12 19:30:01.258 Startup Delay: 214 (msecs)
2007-01-12 19:30:01.477 Connecting to Distributor '105342-DB3PROD'
2007-01-12 19:30:01.618 Agent message code 14260. You do not have sufficient permission to run this command. Contact your system administrator.
I'm trying to use the SPROC below (courtesy of Erland!) to capture theerror message but it fails owing to insufficient permissions (I can'treproduce it just now, but I think it's because it can't get access tothe DBCC OUTPUTBUFFER).How do I give the SPROC permission to execute?Many thanksEdwardCREATE PROCEDURE stpShowErrorMessage @errmsg nvarchar(500) OUTPUT ASDECLARE @dbccrow nchar(77),@msglen int,@lenstr nchar(2),@sql nvarchar(2000),@s tinyint-- Catch the output buffer.CREATE TABLE #DBCCOUT (col1 nchar(77) NOT NULL)INSERT INTO #DBCCOUTEXEC ('DBCC OUTPUTBUFFER(@@spid)')-- Set up a cursor over the table. We skip the first-- row, because there is nothing of interest.DECLARE error_cursor CURSOR STATIC FORWARD_ONLY FORSELECT col1FROM #DBCCOUTWHERE left(col1, 8) <> replicate('0', 8)ORDER BY col1-- Init variable, and open cursor.SELECT @errmsg = ''OPEN error_cursorFETCH NEXT FROM error_cursor INTO @dbccrow-- On this first row we find the length.SELECT @lenstr = substring(@dbccrow, 15, 2)-- Convert hexstring to intSELECT @sql = 'SELECT @int = convert(int, 0x00' + @lenstr + ')'EXEC sp_executesql @sql, N'@int int OUTPUT', @msglen OUTPUT-- @s is where the text part of the buffer starts.SELECT @s = 62-- Now assemble rest of string.WHILE @@FETCH_STATUS = 0 AND datalength(@errmsg) - 1 < 2 * @msglenBEGINSELECT @errmsg = @errmsg + substring(@dbccrow, @s + 1, 1) +substring(@dbccrow, @s + 3, 1) +substring(@dbccrow, @s + 5, 1) +substring(@dbccrow, @s + 7, 1) +substring(@dbccrow, @s + 9, 1) +substring(@dbccrow, @s + 11, 1) +substring(@dbccrow, @s + 13, 1) +substring(@dbccrow, @s + 15, 1)FETCH NEXT FROM error_cursor INTO @dbccrowENDCLOSE error_cursorDEALLOCATE error_cursor-- Now chop first character which is the length, and cut after end.SELECT @errmsg = substring(@errmsg, 2, @msglen)GO
I'm developing an asp.net app that will list the reports available on the report server. The app works OK on my local machine but when I deploy it I run into a permissions problem:
Exception Details: System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: The permissions granted to user 'NT AUTHORITYNETWORK SERVICE' are insufficient for performing this operation. ---> Microsoft.ReportingServices.Diagnostics.Utilities.AccessDeniedException: The permissions granted to user 'NT AUTHORITYNETWORK SERVICE' are insufficient for performing this operation. at Microsoft.ReportingServices.Library.ListChildrenAction.PerformActionNow() at Microsoft.ReportingServices.Library.RSSoapAction`1.Execute() at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.ListChildren(String Item, Boolean Recursive, CatalogItem[]& CatalogItems) --- End of inner exception stack trace --- at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.ListChildren(String Item, Boolean Recursive, CatalogItem[]& CatalogItems) at Microsoft.ReportingServices.WebServer.ReportingService2005.ListChildren(String Item, Boolean Recursive, CatalogItem[]& CatalogItems)
My code uses the DefaultCredentials: ReportingService2005 rService = new ReportingService2005();rService.Credentials = System.Net.CredentialCache.DefaultCredentials; CatalogItem[] catalogItems; catalogItems = rService.ListChildren("/", true); I can avoid the exception if I use the Administrator account:
System.Net.CredentialCache cache = new System.Net.CredentialCache();// Add a NetworkCredential instance to CredentialCache.// Negotiate for NTLM or Kerberos authentication.cache.Add(new Uri(ReportServer), "Negotiate", new System.Net.NetworkCredential("Administrator", "<password>", "<domain>")); //Assign CredentialCache to the Web service Client Proxy(myProxy) Credentials property.rService.Credentials = cache;
I'm pretty sure using the Administrator account here is not the best practice. Any suggestions?
Hey everyone, sorry for the lame questions, but: 1) I have a transactional replication service set up. However, whenever we select a new table or column within a table to replication to the subscribers, the changes never seem to get picked up unless we make an actual change within some of the other data. Any idea why this is? Even after I've reinitialized snapshots, the new changes don't want to proprogate to teh subscribers until data is actually changed. 2) where do I need to go to manually stop and restart a a distribution agent to force these changes to be proprogated without having to change any data within the tables? Thanks
I seem to be having trouble with the distribution agent not doing what I want it to do. I have set up a few publications to run all the time but when I want to schedule a publication to run once a day this doesn't happen it defaults to run all the time. Can the distrubition agent run some publications continusly and some publications scheduled?
Please, i need some help with the replication i had configured. I have two publications to the same subscriber, one with data filters and other not. The one without data filters i have test manualy. But now after i have created the other one, the log reader says that '145 transactions with 347 commands' were delivered, but the distribution agents says that 'no replicated transactions are avaiable'. I know that have many things to be replicated, but doesn´t work. The Sql server agent is working on the distributor. There is something that can be causing this error ?????
Maybe I'm just totally not getting it, but can someone tell me how to stop/start the distribution agent? The Books Online document - "How to: Start and Stop a Replication Agent (SQL Server Management Studio)" - shows how to stop/start the Snapshot Agent, Log Reader Agent and Queue Reader Agent, but not the Distribution Agent. Is it that stopping one of these agents in turn stops the Distribution Agent. I am trying to work through how to add an article to a peer-to-peer topology and need to stop the agent as part of that.
I have a transactional replication going on from Server A to server B (Sql Server 2005)
The replication was working well till yesterday..
But now, the replicated transactions are not getting applied at the subscriber. When I see the Log reader agent, its working fine...delivering the transactions to the distributor. When I see the replication monitor status ..it says 'delivering replicated transactions'...however the number of undistriuted transactions is very high..its getting bigger and bigger..not decreasing...I dont see any errors..So my guess is the distribution agent is not working eventhough its says 'delivering replicated transactions'..Other thing is if i see the replication monitor it says status excellent...and latency as 00 ..but i dont see the latest data at the subscriber..the subscriber is way behind the publisher..
can anyone help me on this?? how do i resolve this problem??? I stopped the distribution agent and again started it..but it dint help...what should i do??
The Report server is configured to use a custom security extension. i can access the reportserver.
It looks like when i deploy the reports from VS. it does not pass any credentials to the report server. From the error message it looks like there is no username . How do i deploy reports to report server if we are using a custom security extension. How do i grant user rights to deploy report if we are using a custom security extension. Any idea. Thanks!
I have installed and configured sql server 2005 express edition with advanced services on an xp box, with the aim of using reporting services.
I have set up reporting services successfully using the report manager, with my web services id = netwrokservice.
I can access both the report manager and report url locally, i.e while using localhost anjd on the machine. The problem arises however when i try to access
the reports from another machine, as i get the message:
"The permissions granted to user 'domainusername' are insufficient for performing this operation. (rsAccessDenied)"
I have looked at various sites (including microsoft) in an attempt to find a solution to this and most sites give exmaples of how to configure the full
version of reporting services which i do not have. The things that I have managed to gleam and try are:
- open up security on dir: C:Program FilesMicrosoft SQL ServerMSSQL.2Reporting ServicesReportServer to everyone and allow all access - added my own username as a new role assigment in the report manager page - added my own username to the reportserveruser and reportingserviceswebservicesuser roles, as indicated by microft:
http://msdn2.microsoft.com/en-us/library/ms365166.aspx, who state that "Custom authentication extensions and custom role assignments are not supported. You
must map existing Windows domain user and group accounts to predefined role definitions."
Can anyone suggest where to look next as I cannot believe that this should be this difficult?
Hi, I've scoured the forums and tried just about every answer to this problem without any success. What I have is SQL Server 2005 installed on a single machine, and trying to deploy reports to the same machine for testing purposes. When I try to deploy the report I receive the permissions error. Here's what I've gotten to at this point:
I can get to the reports URL (http://machine/Reports)
I can login to Reporting Services via SQL Server Management Studio as the administrator. (Windows Authentication)
I have added my login to the Home Folder-->Permissions in SQL Server Management Studio, and all reports are set to inherit the home folder's permissions
In Reporting Service Configuration Manager the Windows Service Identity is set to Local System, and for web service identity - ASP.NET Service Account is set to NT AuthorityNetworkService; Report Server and Report Manager are set to DefaultAppPool.
In IIS I tried enabling Anonymous Authentication
Current Application pools are set to "Classic" for Managed Pipeline mode (I did this to actually be able to login to Reporting Services via SQL Server management studio; having this set to integrated gives me an error) What gets me is that this is entirely self-contained on one machine, that I set up as an administrator. So why do I get a permissions error when I am the admin on this machine deploying to this machine?
I wanted to deploy my Sql 2005 reports to my local machine and want it to get viewed by all the users through Asp.Net application.
User can directly view the reports by clicking on the direct link to report but when they try to view it using application having Report Viewer, running on iis it gives acess denied 401 error and can't view the reports
If I make my application to run on default port then it works fine
If I give rights to <particularMachineNameASPNET> then that user can view the report but if there are 100 users then will i Add 100 such entries???
i finally got SSRS(SQL Server Reporting Services) to install properly and and it was working before i had to restart my PC after restarting my PC i went back to the Domain/Reports$SQLExpress and the menus where Blank it just showed the help link and the border. so i opened the Domain/ReportServer$SQLExpress and it said
The permissions granted to user 'DOMAINOwner' are insufficient for performing this operation.(rsAccessDenied) Get Online Help and there is no Login Box Popping up How do i get it to Login - Its set to use Windows Authentication what sould i doo please help ive had one problem after another with this SSRS
I have setup a replication and after 24 hours this are the error messages I have got:Last action; The database 'supersite' on server 'solomon' does not exist. Full error message: Could not locate entry in sysdatabases for database 'superiste'. No entry found with that name.Make sure that the name is entered correctly. Can anyone out there help me out?
I seem to have an orphaned Distribution Agent. There is no associated Publication and the agent is sending errors. The errors would be legitimate if only I had an associated publication. I also do not have an associated Snapshot Agent.
How can I get rid of this bogus agent? I already deleted the associated job and rebooted SQL and SQLAgent but it still persists.
I have a replication Push Subscription configured that works most of the time but I get occasional errors satating that "The process could not connect to the Subscripber 'xxxx'". The details are
Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection. (Source: PYRRXNDAL341WIN (Data source); Error number: 18452)
This happens randomly and when it does fail, I can either what for the next occurence in the schedule or I can start the agent manually and it completes successfully. I can also ping the other box when it happens. I've looked at the event logs and don't see anything going on around the times the distribution agent is having the problems.
Any suggestions on where to start looking for more detail?
I have been seeing this issue for several weeks now. The distribution agent will become idle even though there is activity occurring within the replicated database. If I manually start the distribution agent, it will begin retrieving the transactions. I thought that this might be due to inactivity but I have modified the inactivity threshold and I am not receiving an actual inactive agent warning. There are no warnings -- it simply sits there and does not resume sending transactions.
Any thoughts? This is a transactional replication with a distribution agent that is run at the subscriber.
Hi,For some magical reason, my database replication has suddenly stoppedworking. I modified the publication but the Distribution agent willnot run; the snapshot does not get applied to the subscriber, andchanges made at the publisher do not get replicated.My configuration is: Transactional Replication with a 'Pull'Subscription. The Subscriber is Updateable with Immediate UpdatesOnly. All created via the SQL Server Enterprise Manager. Both thePublisher and Subscriber are on the same server. I'm running SQLServer 2000 (8.00.760 SP3), on Windows 2000 Server (5.0 (2195)).I manually run the snapshop agent. It runs fine with the status'Succeeded' and the Last Action is 'A Snapshot of X article(s) wasgenerated'.When I look at the distribution agent, things start to get a bitconfusing in ( <SERVERNAME>/Replication Monitor/ Publishers/<SERVERNAME?>/ Publication/ Subscription), the status staysconstantly at 'Never Started'. All other columns are either blank or0. When I right click over the subscription, both Start Synchronisingand Stop Synchronising are NOT greyed out. If I click on either StartSynchronising or Stop Synchronising (absolutely) nothing happens(except the mouse turns 'busy' for a fraction of a second). There areno error messages.I added -output c:sqlout.txt -outputverboselevel 3 to thedistribution agent command. C:sqlout.txt did not get created.It worked fine up to a couple of days ago. I'm not sure exactly whatcaused the problem, as I made a few changes at the same time. Thechanges included: adding a new transactional publication, adding morearticles to an existing transaction publication, and adding a mergepublication. I've tried to go back to the set up before I made thechanges, even disabling replication and starting again from scratch.Still the problem persists.The owner of the distribution agent has dbo permissions in both thepublishing and subscribing database. Under 'Publisher and DistributorProperties' I've set the 'Replication Agent Connection to Publisher'and 'Agent Connection to the Subscriber' both to Use SQL ServerAuthentication, both with the same account that has dbo permissions inboth publishing and subscribing database.Has anybody come across this problem before? Can anybody make anysuggestions? Thanks in advance for your help.RegardsDamian HelmeIS ManagerINTEC Engineering (UK) Ltd.
Replication Distribution Agent often dies with the following log entry. At that hour little is ever going on so I am surprised that the error occurs.
Failed Job -> JobName: Instance1-DB1-Instance2-33, StepName: Run agent., Message: Timeout expired. NOTE: The step was retried the requested number of times (10) without succeeding. The step failed..
Hi, We have 32 individual publications setup on SQL 2000 and have 32 distribution agent running against it. I think each distribution agent opens a process called distrib.exe in Windows task Mgr.
Problem I'm having is that these 32 distribution agents are taking up fair amount of memory 1/2 gig and each process seem to be ever increasing in memory usage so I suspect a memory leak?
Is there something I can do to fix this problem? I don't want to upgrade memory as we already have over 1 1/2 gigs on this machine and it would not be feasible if we have a memory leak.
We have quite a lot of Transactional replication, and over the past few weeks it had become quite slow. I spent the last few days trying to resolve the problem and found that a Push subscription was delivering transactions at about 50/sec and a Pull subscription was delivering at around 700/sec.
This test was run on the Same publication, same subscriber so hardware and links are all the same, the only difference was the type of subscription. I've since changed a few of our subscriptions for the larger publications and have found they run quicker than previously.
Has anyone else seen this behavour and is there a valid reason why this would occur. The distributor and subscriber are both running SQL2005 SP1 and the publisher is SQL2000 SP4.
If anyone could shed some light on this it would be appreciated.
I've been using replication for a long while now but have never come across this error. It's a basic transactional replication from ServerA to ServerB, where ServerA is also the distributor. Everything had been running fine on it until yesterday, when this error started popping up and no further transactions could be delivered.
After some quick googling I was able to determine that the distribution agent account needed write access to C:Program FilesMicrosoft SQL Server100Com. According to the MSFT article it's because the distribution agent is running under a non-default profile. I didn't change this. However, what I did change around the time that these errors started occurring was the server's Replication Max Test Size setting. It would be far too coincidental for this to not be the cause, but what I don't understand is *why* that would have changed it.
how do I change this? It is definitely not preferable to create temp files in this directory in our environment.
We have replication setup on a sql server 2000. We encountered issue that the distribution agent goes down (distrib.exe stop running) in the event of network connection broken. We would like to know:
is this the expected result that the distribution agent will go down in the event of communication failure between the distribution server and subscriber server? if not, is there a way to programmatically control and restart the agent? Is there any sp in SQL server which can monitor the replication communication error message? is there any sp in SQL server which can be run to restart the agent? For the best practice, what do you think we can do to achieve an €˜event-driven€™ kind of mechanism so when an communication breaks, the agent can be restarted by the triggered event (or at least a simple way to automatically restart)?
I have several users that are a member of a Windows Nt group. I want to be able to allow this group to create, update, and delete SQL Agent Jobs. But I do not want them to be members of the SYSADMIN role. Everything that I have found states that they must be members of this server role to perform these actions. Does anyone have an idea on how to accomplish this? or point me in some kind of direction to explore.
I'm getting this, after upgrading from 2000 to 2005.Replication-Replication Distribution Subsystem: agent (null) failed.The subscription to publication '(null)' has expired or does notexist.The only suggestions I've seen are to dump all subscriptions. Sincewe have several dozen publications to several servers, is there adecent way to script it all out, if that's the only suggestion?Thanks in advance.
I see that a recent related message was posted about built-in accounts.
Anyway, a vendor set up system using SQL 2014. The SQL Server Agent service was running under the 'Local System Account'.
Agent jobs were failing because they couldn't write to a shared folder on the same server. I decided to change the account to a regular privileged domain user. Here is the error message:
Executed as user MYDOMAINSQL2014Agent Cannot open backup device 'EackupMyBackup' Operating system error 5(Access is denied). [SQLSTATE 42000] [Error 3201] BACKUP DATABASE is terminating abnormally [SQLSTATE 42000] [Error 3013]. The step failed
I granted Full Control to that domain user and it still failed. I added 'Everyone' and gave it Full Control and it succeeded.
I understand that the account under which the Agent is running should have Write permissions on the share. However, I must have missed something. The only way I can get this to work is to grant Write or Full Control to Everyone. I absolutely do not want to do that.