Showing posts with label back. Show all posts
Showing posts with label back. Show all posts

Thursday, March 29, 2012

DR: Replication vs. log shipping vs. clustering vs. database mirroring........

Up to now we have gotten by without having any local DR copies of servers (if a sql server goes down we are usually able to get it back in less than 3 hours). But I want more now. I want to trim the "down" window to no more than 5 or 10 minutes. (Immedate failover would be nice but is not an essential requirement. The essential requirement is to loose no data!)

I have a spec of knowledge in these areas:

SQL 2005 Clustering (requires approved hardware, quorum disk, etc. involved)

SQL 2005 Replicaiton

SQL 2005 Log Shipping.


SQL 2005 Database mirroring. ( needs three servers)

Which approach do you think is the most straightforward, sparing of hardware, yet reliable way to get us back up and running after a sql server failure.

TIA,

barkingdog

All of the above, none of the above, some combination of the above. It isn't a yes or no answer and it isn't a one size fits all. Each option has pros and cons. I teach a 5 day hands on class on High Availability and at the end of about 46 hours of instruction, we cover about 1/4 of the topic. It gives you a basic foundation for understanding the pros and cons of each technology as well as how it fits into an environment. The hard part is the implementation. There are 800+ page books on the SQL Server HA stuff from SQL Server 2000. I'm working on one for SQL Server 2005 that is probably going to weigh in at a two volume set of almost 1700 combined pages. (About 800 pages of it are already done and I still have at least 3 technologies and 17 subjects to cover.) It depends upon your environment, business requirements, any needs for the application etc. If you can be a little more specific than "I want better availability", it might be possible to more closely target something.|||

We want to consolidate several sql 2000 development servers into a single sql 2005 server. BUT if the sql 2005 server goes down, until we can fix it, the developers are going to have a lot of free time on their hands! The goal here is to minimize the amount of down time (say less than 20 minutes) so our developers can get back on the road ASAP. Of course, if the problem is hardware-related we could be down for a lot longer than 20 minutes, implying another server (maybe even a virtual server?) should be part of the environment.

Barkingdog

|||Based on the fact that it is a development environment, I would simply drop in log shipping and be done. It would require developers to reconnect to a different SQL Server instance that might be missing a small amount of data, but that is unimportant in a dev environment. It gives you basic redundancy without going overboard. And you also have to keep in mind that everything in a dev environment should be able to be recreated by a developer, so you are simply looking fdor redundancy to reduce the amount of stuff that needs to be recreated in the event of a failure.|||

I am reading about log shipping. It seems to be very focused on "one database at a time" type operations. One way is to use SSMS, right-click the database of interest, go to Properties, indicate it is the primary database.... and do this for each database on the server.

I want to apply log shipping to ALL the databases at once, not one step at a time. Is there any accomodaiton to do this?

TIA,

Barkingdog

|||

I have just finished my first pass reading about Log Shipping. In point of fact, while the concept is simple, the implementation has lots of details, is error prone, and requires changes to the way things normally work around here.

My greatest concern with all such approaches is that we will set it up, it will run fine on auto pilot, we will forget about the details, and then the emergency hits. Since we are no longer "sharp" it is very possible that we could forget to do something or do the wrong something, undermining the purpose of LS. (I know ... have good documentation....) I have the same issue with other "Disaster Recovery" type products. too.

Barkingdog

|||

Since you mentioned Database Mirroring, my assumption is SQL Server 2005 for all of this. You don't have to click through SSMS. You can script the log shipping implementation. It will require that you connect to two different instances and execute the portions of the script in order, but you don't have to click through a GUI.

As for the other side, no one is going to be able to help with that issue. High Availability isn't technology in a box. It requires people, processes, and technology to work together to achieve your availability goals. Deploying technology without well tested and documented procedures for accomplishing a failover and possibly a failback is just a waste of time. The technology is only as good as the processes that are in place to ensure the technologies can meet your business needs. The processes are only as good as the documentation that you have in place. The processes are only as good as the people implementing and performing the processes. You can't have one without the other.

Implementing a high availability solution is 5% about technology. The other 95% is all about processes and failover procedures.

|||

Excellent answers thanks.

Your advise about failover procedures is sage-like. I do find that mirroring is more to my "liking". And why it may not be needed on a developer box it would be good practice ground for our sql 2005 production servers (which also need falover).

Barkingdog

sql

Wednesday, March 21, 2012

'downgrade' to server 2000 from 2005

Hi,

I'm looking into how i can revert back to running my db on sql server 2000, it's currently running on 2005 and having problems. Any help/pointers would be much appreciated

Refer : http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=186526&SiteID=1

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1273824&SiteID=1

Madhu

|||Cheers for that Madhu

DownDate ? from SP4 to SP3

Sorry SUBJECT was backwards...
Can it be done' How can I UNDO my SQL2000 SP4 update and go back to SP3'
Does anybody know if that can be done'Unfortunately looks like there is no easy way to do that. See
3.8 Uninstall Database Components SP4
on
http://download.microsoft.com/download/1/B/D/1BDF5B78-584E-4DE0-B36F-C44E06B0D2A3/ReadmeSql2k32sp4.htm
Ben Nevarez, MCDBA, OCP
Database Administrator
"msnews.microsoft.com" wrote:
> Sorry SUBJECT was backwards...
> Can it be done' How can I UNDO my SQL2000 SP4 update and go back to SP3'
> Does anybody know if that can be done'
>
>

DownDate ? from SP3 to SP4

Can it be done' How can I UNDO my SQL2000 SP4 update and go back to SP3'
Does anybody know if that can be done'Check out:
HOW TO: Remove a SQL Server Service Pack
http://support.microsoft.com/kb/314823/en-us
HTH
Jerry
"msnews.microsoft.com" <breichenbach@.istate.com> wrote in message
news:OqkGe7EgGHA.4080@.TK2MSFTNGP03.phx.gbl...
> Can it be done' How can I UNDO my SQL2000 SP4 update and go back to
> SP3'
> Does anybody know if that can be done'
>|||Be aware that support for SP3a ends in July 2006
(http://support.microsoft.com/gp/lifesupsps).
Perhaps there is a hotfix avialable to address the issue you are having.
Check out http://support.microsoft.com/kb/894905/
Hope this helps.
Dan Guzman
SQL Server MVP
"msnews.microsoft.com" <breichenbach@.istate.com> wrote in message
news:OqkGe7EgGHA.4080@.TK2MSFTNGP03.phx.gbl...
> Can it be done' How can I UNDO my SQL2000 SP4 update and go back to
> SP3'
> Does anybody know if that can be done'
>

DownDate ? from SP3 to SP4

Can it be done' How can I UNDO my SQL2000 SP4 update and go back to SP3'
Does anybody know if that can be done'Check out:
HOW TO: Remove a SQL Server Service Pack
http://support.microsoft.com/kb/314823/en-us
HTH
Jerry
"msnews.microsoft.com" <breichenbach@.istate.com> wrote in message
news:OqkGe7EgGHA.4080@.TK2MSFTNGP03.phx.gbl...
> Can it be done' How can I UNDO my SQL2000 SP4 update and go back to
> SP3'
> Does anybody know if that can be done'
>|||Be aware that support for SP3a ends in July 2006
(http://support.microsoft.com/gp/lifesupsps).
Perhaps there is a hotfix avialable to address the issue you are having.
Check out http://support.microsoft.com/kb/894905/
Hope this helps.
Dan Guzman
SQL Server MVP
"msnews.microsoft.com" <breichenbach@.istate.com> wrote in message
news:OqkGe7EgGHA.4080@.TK2MSFTNGP03.phx.gbl...
> Can it be done' How can I UNDO my SQL2000 SP4 update and go back to
> SP3'
> Does anybody know if that can be done'
>

Friday, March 9, 2012

Double Byte Character Support?

I have a Point of Sale System which uses SQL (MSDE or SQL
2000) as the back end database. We have a client that
wants to buy a Chinese version of the Point of Sale
System...so my question is, does SQL 2000 or MSDE support
the double byte character set? Is there anything special I
need to do to accomplish this, or is there a special
version of SQL to buy?Hi Ray
SQL Server supports double byte character sets ("unicode")
Types NCHAR, NVARCHAR NTEXT are unicode (double byte)
Types CHAR, VARCHAR, TEXT are single byte.
There are also collations which cover language character sets & sort orders
as well.
This applies to all editions of SQL Server.
HTH
Regards,
Greg Linwood
SQL Server MVP
"Ray" <rkano@.adctech.com> wrote in message
news:0f9601c38dfc$b9366290$a001280a@.phx.gbl...
> I have a Point of Sale System which uses SQL (MSDE or SQL
> 2000) as the back end database. We have a client that
> wants to buy a Chinese version of the Point of Sale
> System...so my question is, does SQL 2000 or MSDE support
> the double byte character set? Is there anything special I
> need to do to accomplish this, or is there a special
> version of SQL to buy?

Wednesday, March 7, 2012

Dont use clustered indexes?

Hi,

The more I read, the more confused I'm getting ! (no wonder they say
ignorance is bliss)

I just got back from the bookstore and was flipping through some SQL Server
Administration books.

One says, that to get the best query performance, youi do two things:

1. Cover all the columns used in each SELECT (including the WHERE, ORDER
BY , etc.) with an index

2. Make sure it's a NON-CLUSTERED index.

In this way, the author says, you avoid ever going directly to the base
tables for data to resolve the query - i.e. it's resolved in the index.

So, for example, he argues if you have:

SELECT Lname,Fname, CompanyName
from Contacts
inner join Customers
on (contacts.custid = customers.custid)

that you use two non-clustered indexes:
1. Lname,Fname and custid from the Contacts table
2. CompanyName and custid from Customers

(as opposed to the standard approach of a clustered index on the PK's of
each table)

He says that clustered indexes don't speed up performance because they're
the same as a full table scan. Should I drop clustered indexes from my
large tables, given that there are multiple non-clustered indexes on them?
Is it better to just use multiple non-clustered indexes on a heap table?

SteveThe best indexing strategy depends on a number of factors. It is true that
a covering non-clustered index will be beneficial to some queries,
especially when only a few columns are selected and most of the rows in the
table are needed. However, you need to balance the cost of maintaining the
index with the benefits of using it. Too many indexes can slow down
insert/update performance and increase the likelihood of blocking and
deadlocks. It's overkill to create a lot of non-clustered indexes to cover
queries unless the database is read-only, the additional disk space
requirements aren't a concern and you can anticipate the queries beforehand.

Personally, I rarely create heap tables in SQL 7 and above. The clustered
index eliminates the I/O overhead of maintenance to non-clustered leaf nodes
due to page splits because the clustered key rather than physical location
is used to as the bookmark to data rows. See the Books Online
<architec.chm::/8_ar_da2_8sit.htm> for a discussion on clustered and
non-clustered indexes.

Covering non-clustered indexes are appropriate to address specific
performance issues but, IMHO, are the exception rather than the rule.
Exercising a little common sense in creating useful indexes goes a long way
in preventing performance problems.

--
Hope this helps.

Dan Guzman
SQL Server MVP

"Steve_CA" <steveee_ca@.yahoo.com> wrote in message
news:5cccd.67695$3C6.2513201@.news20.bellglobal.com ...
> Hi,
> The more I read, the more confused I'm getting ! (no wonder they say
> ignorance is bliss)
> I just got back from the bookstore and was flipping through some SQL
> Server Administration books.
> One says, that to get the best query performance, youi do two things:
> 1. Cover all the columns used in each SELECT (including the WHERE, ORDER
> BY , etc.) with an index
> 2. Make sure it's a NON-CLUSTERED index.
> In this way, the author says, you avoid ever going directly to the base
> tables for data to resolve the query - i.e. it's resolved in the index.
> So, for example, he argues if you have:
> SELECT Lname,Fname, CompanyName
> from Contacts
> inner join Customers
> on (contacts.custid = customers.custid)
> that you use two non-clustered indexes:
> 1. Lname,Fname and custid from the Contacts table
> 2. CompanyName and custid from Customers
> (as opposed to the standard approach of a clustered index on the PK's of
> each table)
> He says that clustered indexes don't speed up performance because they're
> the same as a full table scan. Should I drop clustered indexes from my
> large tables, given that there are multiple non-clustered indexes on them?
> Is it better to just use multiple non-clustered indexes on a heap table?
> Steve

Sunday, February 19, 2012

doing transactions with linked server(ole db provider)

Hi all,

When i begin a distributed transaction..., do i need to always
set xact_abort on?

But when i tried to put custom error handling to roll back a transaction with a linked server , it seems its impossible (as set xact_abort on, already automatically rolls back the transaction)

Does anyone have any ideas on this?

Thanks in advance

Bennyset xact_abort on is not required for distributed transactions.|||But i get an error when i dont set that.
Do you know what has to be done instead?

Thanks for your feedback

Benny

Friday, February 17, 2012

doing selectparameter at the back end code

Hi, How do u do selectparameter at the back end code?

I am facing this problem of the gridview not being able to find the datasource in the accordionpane so i decided to move the datasource out of the accordionpane.
However, since the gridview's datasource is linked to another gridview in the accordionpane, I will need to do a selectParameter to connect both gridviews.

The gridview using the datasource is called basicBookDetails.
The gridview to be linked with basicBookDetails is called book.
Book_List_ID is the datakeynames for both gridview book and basicBookDetails.

Can someone help me with this problem? Thanks.

This is the query statement that I used.

SELECT book_details.Status, book_list.Book_List_ID, Circulation_Type, book_details.Book_Details_ID, CONCAT(rockwell.book_list.Title, IFNULL(CONCAT(', ', edition.Edition_Name), ' ')) AS Title FROM book_list, edition, book_details, circulation_type WHERE (edition.Edition_ID = book_details.Edition_ID) AND (circulation_type.Circulation_ID = edition.Circulation_ID) AND (edition.book_list_id = book_list.Book_List_ID) AND (book_list.Book_List_ID = ?)

Hi There,

You can actually set your datasource select statement parameter on code-behind like below:

on your code behind, get the Book_List_ID and set it to your datasource

basicBookDetails.SelectParameters[0].DefaultValue ="YourParameterHere";

Hope this is help

|||

Hi,

Do you mind explaining a bit about what u said as I am a bit lost.
Am I also supposed to do changes to the query also after I add in the select statement parameter?
Do I need to declare a new parameter to input in the "YourParameterHere" or do i directly use Book_List_ID and place it inside?

Thanks.

|||

Hi There,

Correct me if im wrong, I guess you are doing something like Master / Detail with Gridview ?

So when you expand the detail, you set the parameter for the particular selected row so that it returns the correct value for the detail.

"Am I also supposed to do changes to the query also after I add in the select statement parameter?"

You don't need to change the query

"Do I need to declare a new parameter to input in the "YourParameterHere" or do i directly use Book_List_ID and place it inside?"

You do not need to declare new paramter, just set whatever value you get from the master in this case Book_List_ID

|||

The first gridview has a link button which is used to link to the 2nd gridview.
Meaning that gridview 1 is the master and gridview 2 is the details page and they are linked through datakeynames book_list_id.

I've gotten an exception when i run the page.
The exception is : "Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index "

Do you have any idea what it means?

|||

Hi There,

Could you show me your code here ? curious how is your sqldatasource look like.

Seems that your sqldatasource do not have insert parameter

e.g.

<SelectParameters>

<asp:ParameterName="book_list_id"Type="Int32"/>

</SelectParameters>

|||

This is my sqldatasource

<asp:SqlDataSourceID="bookExtensionDataSource"

runat="server"
ConnectionString="<%$ ConnectionStrings:rockwellConnectionString %>"
ProviderName="<%$ ConnectionStrings:rockwellConnectionString.ProviderName %>"

SelectCommand="SELECT book_details.Status, book_list.Book_List_ID, Circulation_Type, book_details.Book_Details_ID, CONCAT(rockwell.book_list.Title, IFNULL(CONCAT(', ', edition.Edition_Name), ' ')) AS Title FROM book_list, edition, book_details, circulation_type WHERE (edition.Edition_ID = book_details.Edition_ID) AND (circulation_type.Circulation_ID = edition.Circulation_ID) AND (edition.book_list_id = book_list.Book_List_ID) AND (book_list.Book_List_ID = ?)">

<SelectParameters>
<asp:ControlParameterControlID="book"Name="?"PropertyName="SelectedValue"/>
</SelectParameters>

</asp:SqlDataSource>

book is the ID of the master gridview(gridview 1)

|||

This is my sqldatasource

<asp:SqlDataSourceID="bookExtensionDataSource"

runat="server"
ConnectionString="<%$ ConnectionStrings:rockwellConnectionString %>"
ProviderName="<%$ ConnectionStrings:rockwellConnectionString.ProviderName %>"

SelectCommand="SELECT book_details.Status, book_list.Book_List_ID, Circulation_Type, book_details.Book_Details_ID, CONCAT(rockwell.book_list.Title, IFNULL(CONCAT(', ', edition.Edition_Name), ' ')) AS Title FROM book_list, edition, book_details, circulation_type WHERE (edition.Edition_ID = book_details.Edition_ID) AND (circulation_type.Circulation_ID = edition.Circulation_ID) AND (edition.book_list_id = book_list.Book_List_ID) AND (book_list.Book_List_ID = ?)">

<SelectParameters>
<asp:ControlParameterControlID="book"Name="?"PropertyName="SelectedValue"/>
</SelectParameters>

</asp:SqlDataSource>

book is the ID of the master gridview(gridview 1). i am trying to move the select parameter to the back end as it seems that the gridview cannot detect the datasource in the accordionPane.

|||

Hi There,

Are you doing something like, you have a master gridview, each master row have accordian and expand accoridian and display the detail ? like follow ?

Master

-- Accordian

-- Detail ?

Try this, i think this is better module:http://www.codeproject.com/aspnet/MasterDetail.asp

|||

The sequence of flow is like this

Accordion
--->master
---->details
---->details

|||

Hi There,

Did you try out the link that i posted ?

Unfortunately, im at work can;t actually write a sample to test your scenario now. Will try do it later tonight.

;)

|||

Hi there,

Would you able to post your code here? i think this would be better rather than i create a test that is not relavant to yours.

shacky:

The sequence of flow is like this

Accordion
--->master
---->details
---->details

The above structure is a bit weird to me, is there a specific reason ?

|||

All the gridviews are actually within an accordionPane.

When the master gridview is selected, the relevant information will be displayed in gridview 2(1st detail).
When gridview 2 is selected(1st detail) is selected, the relevant information will be displayed in gridview 3(2nd detail).

Below is the selectparameter for gridview 2 and 3:

selectparameter of gridview 2

<SelectParameters>

<asp:ControlParameterControlID="book"Name="?"PropertyName="SelectedValue"/>

</SelectParameters>

selectparameter of gridview 3

<SelectParameters>

<asp:ControlParameterControlID="basicBookDetails"Name="?"PropertyName="SelectedValue"/>

</SelectParameters>

Doing a Transaction Log Backup.

I am going to back up my databases using a Database Maintenence Plans (from
Enterprise Manager). I see there is a Complete Backup and a Transaction Log
Backup.
If I do a Complete Backup, should I do a Transaction Log Backup as well ?
What would you do a Transaction Log Backup ?
Thanks,
CraigHere is an excerpt from SQL Server Books OnLine:
Transaction Log Backups
The transaction log is a serial record of all the transactions that have
been performed against the database since the transaction log was last backe
d
up. With transaction log backups, you can recover the database to a specific
point in time (for example, prior to entering unwanted data), or to the poin
t
of failure.
When restoring a transaction log backup, Microsoft? SQL Server? rolls
forward all changes recorded in the transaction log. When SQL Server reaches
the end of the transaction log, it has re-created the exact state of the
database at the time the backup operation started. If the database is
recovered, SQL Server then rolls back all transactions that were incomplete
when the backup operation started.
Transaction log backups generally use fewer resources than database backups.
As a result, you can create them more frequently than database backups.
Frequent backups decrease your risk of losing data.
Note Sometimes a transaction log backup is larger than a database backup.
For example, a database has a high transaction rate causing the transaction
log to grow quickly. In this situation, create transaction log backups more
frequently.
Transaction log backups are used only with the Full and Bulk-Logged Recovery
models. For more information, see Using Recovery Models.
Using Transaction Log Backups with Database Backups
Restoring a database using both database and transaction log backups works
only if you have an unbroken sequence of transaction log backups after the
last database or differential database backup. If a log backup is missing or
damaged, you must create a database or differential database backup and star
t
backing up the transaction logs again. Retain the previous transaction logs
backups if you want to restore the database to a point in time within those
backups.
The only time database or differential database backups must be synchronized
with transaction log backups is when starting a sequence of transaction log
backups. Every sequence of transaction log backups must be started by a
database or differential database backup.
Usually, the only time that a new sequence of backups is started is when the
database is backed up for the first time or a change in recovery model from
Simple to Full or Bulk-Logged has occurred. For more information, see
Switching Recovery Models.
Let me know if it helps,
Edgardo Valdez
MCSD, MCDBA, MCSE
"Craig HB" wrote:

> I am going to back up my databases using a Database Maintenence Plans (fro
m
> Enterprise Manager). I see there is a Complete Backup and a Transaction L
og
> Backup.
> If I do a Complete Backup, should I do a Transaction Log Backup as well ?
> What would you do a Transaction Log Backup ?
> Thanks,
> Craig|||Thanks, Edgardo
That was helpful. It seems from that excerpt that I should do transaction
backups between database backups.
Just one more question on that:
When you restore a transaction log, do you restore it in the same way as
restoring a database ? i.e. Enterprise Manager / All Tasks / Retore / Select
the file and click OK.
Thanks,
Craig|||Sorry for not replying before.
I usually do Transaction Log Backups in between full backups, with a
frequency that varies from 10 min to 4 hours, depending of the type of
database (production, development, etc), disk space available, etc.
You can also refer to this article that can help you
(http://www.microsoft.com/technet/pr...st.mspx
)
, specially where it says "Performing Transaction Log Backups through
Enterprise Manager"
I hope it helps you.
"Craig HB" wrote:

> Thanks, Edgardo
> That was helpful. It seems from that excerpt that I should do transaction
> backups between database backups.
> Just one more question on that:
> When you restore a transaction log, do you restore it in the same way as
> restoring a database ? i.e. Enterprise Manager / All Tasks / Retore / Sele
ct
> the file and click OK.
> Thanks,
> Craig

Tuesday, February 14, 2012

Does this authentication scheme work?

I am building a Pocket PC app against an Oracle back end using .NET Compact
Framework and Oracle's sync technology (this includes Oracle Lite on the
Pocket PC). The presentation layer needs to also work for SQL Server CE. So
I'm trying to make the GUI code generic. To do this I need to confirm how
the logins work for SQL CE to SQL Server synchronization. I've tried setting
up a test scenario but failed to be able to authenticate. I don't have the
time to continue trying to figure out what I'm doing wrong, at this point I
just need to know whether the below authentication scheme works. The BOL's
seem to suggest it will work, but they seem a bit unclear. Since I wasn't
able to get it to work, I'm in a state of uncertainty.
My question (about SQL CE to SQL Server sync):
I want each user to be forced to authenticate with a user name and password
before any synchronization takes place. Can this be accomplished by setting
up a Windows account for each user and configuring the virtual directory in
IIS to use those accounts to authenticate?
I'm hoping this will work, because it mirrors what I'm doing with my Oracle
app.
Thanks very much in advance,
Hank
Yes, it will work. Use basic authentication on your virtual directory, and
create an NT group that contains the users. Then add this group the pal for
your publication.
When you are connecting to the URL make sure you pass the password and
account.
Hilary Cotter
Looking for a SQL Server replication book?
Now available for purchase at:
http://www.nwsu.com/0974973602.html
"Hank" <sorry@.noway.com> wrote in message
news:10rrfmgro4pl519@.corp.supernews.com...
>I am building a Pocket PC app against an Oracle back end using .NET Compact
> Framework and Oracle's sync technology (this includes Oracle Lite on the
> Pocket PC). The presentation layer needs to also work for SQL Server CE.
> So
> I'm trying to make the GUI code generic. To do this I need to confirm how
> the logins work for SQL CE to SQL Server synchronization. I've tried
> setting
> up a test scenario but failed to be able to authenticate. I don't have the
> time to continue trying to figure out what I'm doing wrong, at this point
> I
> just need to know whether the below authentication scheme works. The BOL's
> seem to suggest it will work, but they seem a bit unclear. Since I wasn't
> able to get it to work, I'm in a state of uncertainty.
> My question (about SQL CE to SQL Server sync):
> I want each user to be forced to authenticate with a user name and
> password
> before any synchronization takes place. Can this be accomplished by
> setting
> up a Windows account for each user and configuring the virtual directory
> in
> IIS to use those accounts to authenticate?
> I'm hoping this will work, because it mirrors what I'm doing with my
> Oracle
> app.
> Thanks very much in advance,
> Hank
>

Does the transaction log on a publisher SQL server get truncated when the database is back

Hello All,
The setting is SQL server 7, on Windows NT.

If the distributor can not access the log on the publisher database ( but
subscribers are not deleted yet), will the full backup of the publisher
database truncate the transaction log? My guess is, it will not truncate the
log.
Can any one confirm please?

Thanks,
MoklesFull backups don't truncate the log; the log is truncated by BACKUP log.
From the Books Online:

<Excerpt href="http://links.10026.com/?link=\tsqlref.chm::/ts_ba-bz_35ww.htm">
Once the log is backed up, the space may be truncated when no longer
required by replication or active transactions.
</Excerpt
I believe the data is considered required for replication until retrieved by
the distributor

--
Hope this helps.

Dan Guzman
SQL Server MVP

"mokles" <mokles@.rogers.com> wrote in message
news:ncWdnd5XiKzAojvfRVn-sA@.rogers.com...
> Hello All,
> The setting is SQL server 7, on Windows NT.
> If the distributor can not access the log on the publisher database ( but
> subscribers are not deleted yet), will the full backup of the publisher
> database truncate the transaction log? My guess is, it will not truncate
> the
> log.
> Can any one confirm please?
> Thanks,
> Mokles|||Dan Guzman,

Thanks for your confirmation and explanation.

Mokles

"Dan Guzman" <guzmanda@.nospam-online.sbcglobal.net> wrote in message
news:ZSspe.1864$751.1493@.newssvr30.news.prodigy.co m...
> Full backups don't truncate the log; the log is truncated by BACKUP log.
> From the Books Online:
> <Excerpt href="http://links.10026.com/?link=\tsqlref.chm::/ts_ba-bz_35ww.htm">
> Once the log is backed up, the space may be truncated when no longer
> required by replication or active transactions.
> </Excerpt>
> I believe the data is considered required for replication until retrieved
by
> the distributor
> --
> Hope this helps.
> Dan Guzman
> SQL Server MVP
> "mokles" <mokles@.rogers.com> wrote in message
> news:ncWdnd5XiKzAojvfRVn-sA@.rogers.com...
> > Hello All,
> > The setting is SQL server 7, on Windows NT.
> > If the distributor can not access the log on the publisher database (
but
> > subscribers are not deleted yet), will the full backup of the publisher
> > database truncate the transaction log? My guess is, it will not truncate
> > the
> > log.
> > Can any one confirm please?
> > Thanks,
> > Mokles