Makale numarası: 936759 - Son Gözden Geçirme: 01 Mayıs 2008 Perşembe - Gözden geçirme: 2.2

Windows SharePoint Services 3. 0'ı yükseltmek için veritabanı geçiş gerçekleştirildikten sonra içeriği geçirilmiş bir listede veya geçirilmiş belge kitaplığında değişiklik olduğunda, uyarılar için e-posta bildirimleri gönderilmiyor

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Şu senaryoyu inceleyin. Microsoft Windows SharePoint Services 2.0, Microsoft Windows SharePoint Services 3. 0'ı yükseltmek için veritabanı geçiş atmış olursunuz. Bunu yapmak için <a0></a0>, Windows SharePoint Services 3.0 dağıtın. Sonra yeni Windows SharePoint Services 3.0 ortamında Web uygulamalarına içerik veritabanlarının ekleyin.

Ancak, geçişten sonra içerik geçirilmiş bir listede veya geçirilmiş belge kitaplığında değişiklik olduğunda e-posta bildirimleri Windows SharePoint Services 3.0 göndermez. Kullanıcılar, aşağıdaki belirtilerle karşılaşırsınız:
  • Kullanıcılar, varolan Windows SharePoint Services 2. 0'dan Geçirilmekte bir belge kitaplığı veya listesi için uyarılar için e-posta bildirimlerini almazsınız.
  • Kullanıcılar oluşturdukları Windows SharePoint Services 2. 0'dan Geçirilmekte bir belge kitaplığı veya listesi için yeni uyarılar için e-posta bildirimlerini almazsınız. E-posta bildirimi almak için <a0></a0>, kullanıcının varolan uyarı önce silmelisiniz. Daha sonra kullanıcı yeni bir uyarı oluşturmanız gerekir.
Ayrıca, aşağıdakine benzer bir hata iletisi, ayrıntılı izleme sağlar, Uls günlük dosyasında günlüğe kaydedilir:
FileNotFound özel durum

Neden

Windows SharePoint Services 2.0 SUNUCUSUNUN, sunucunun Windows SharePoint 3.0 URL'DEN farklıysa, bu sorun oluşur. Örneğin, Windows SharePoint Services 3.0 SUNUCUSUNUN <a1>http://</a1> ServerName Version3 ve Windows SharePoint Services 2.0 SUNUCUSUNUN <a1>http://</a1> ServerName Version2 varsa bu sorun oluşur.

Içerik veritabanı ImmedSubscription tablosunda Siteurl sütun var. Web uygulamasını URL'SINI Siteurl sütununda eşleşmezse, liste veya belge kitaplığı değişiklikleri bir Windows SharePoint Services içerik değiştiğinde e-posta bildirimi göndermez.

Pratik Çözüm

Bu soruna geçici bir çözüm için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1: yeni "stsadm -o updatealert" komutunu kullanın...

Yeni stsadm -o updatealert komut, SharePoint Yönetim araç seti'de yayımlanmıştır. Daha fazla bilgi ve araç seti karşıdan yüklemek için aşağıdaki Microsoft Web sitelerinden birini, çalıştırmakta olduğunuz Windows SharePoint Services sürümüne bağlı olarak aşağıdakilerden ziyaret edin.

SharePoint Yönetim araç x 64

http://www.microsoft.com/downloads/details.aspx?FamilyId=F8EEA8F0-FA30-4C10-ABC9-217EEACEC9CE&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyId=F8EEA8F0-FA30-4C10-ABC9-217EEACEC9CE&displaylang=en)

SharePoint Yönetim araç x 86

http://www.microsoft.com/downloads/details.aspx?FamilyId=263CD480-F6EB-4FA3-9F2E-2D47618505F2&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyId=263CD480-F6EB-4FA3-9F2E-2D47618505F2&displaylang=en)
Daha fazla bilgi için "Microsoft SharePoint Yönetimi Araç Seti" adlı teknik incelemeye bakın. Bunu yapmak için şu Microsoft Web sitesini ziyaret edin:
http://go.microsoft.com/fwlink/?LinkId=117212&clcid=0x409 (http://go.microsoft.com/fwlink/?LinkId=117212&clcid=0x409)

Yöntem 2: kod URL'leri güncelleştirmek için kullanın.

Uyarılar içerik veritabanını ImmedSubscription tabloda Siteurl sütununda URL'lerini güncelleştirmek için şu kodu kullanın.

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir. Ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.
///
///  This source code is freeware and is provided on an "as is" basis without warranties of any kind, 
///  whether express or implied. This includes without limitation warranties that the code is free of defect, 
///  fit for a particular purpose or non-infringing.  The whole risk as to the quality and performance of 
///  the code is with the end-user.
///

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;

namespace V3UpdateAlerts
{
    class V3UpdateAlerts
    {
        static void Main(string[] args)
        {
            string strSiteCollection = string.Empty;

            // First (and only) argument is the URL to the Site Collection
            if (args.Length > 0)
            {
                strSiteCollection = args[0];

                try
                {
                    using (SPSite spsitecol = new SPSite(strSiteCollection))
                    {
                        using (SPWeb sprootweb = spsitecol.RootWeb)
                        {
                            ListAndFixAlerts(sprootweb);
                        } // using sprootweb
                    } // using spsitecol
                }
                catch (System.IO.FileNotFoundException ioex)
                {
                    Console.WriteLine("Could not access Site Collection: {0}", ioex.Message);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("An unexpected error occurred: {0}", ex.Message);
                } // try
            }
            else
                Console.WriteLine("No Site Collection URL was specified.");
        }

        //Enumerates all Alerts present on a Site Collection and modifies them
        //so that wrong information (for example, in the SiteUrl column) is corrected.
        static void ListAndFixAlerts(SPWeb spweb)
        {
            Console.WriteLine("\n{0} Alert(s) for site: {1} ({2})", spweb.Alerts.Count, spweb.Title, spweb.Url);

            foreach (SPAlert alert in spweb.Alerts)
            {
                try
                {
                    Console.WriteLine(" {2} Alert \"{0}\" for user \"{1}\" \n  (Id: {3})\n", alert.Title, (alert.User != null ? alert.User.Name : "<unknown>"), alert.AlertFrequency.ToString(), alert.ID.ToString());

                    //Preserve the initial Alert frequency (Immed., Daily, Weekly).
                    SPAlertFrequency afPrevious = alert.AlertFrequency;

                    //Change the Alert frequency so the datarow inside
                    //is touched by SharePoint API.
                    if (afPrevious == SPAlertFrequency.Immediate)
                        alert.AlertFrequency = SPAlertFrequency.Weekly;
                    else
                        alert.AlertFrequency = SPAlertFrequency.Immediate;

                    try
                    {
                        alert.Update();

                        //Change the Alert frequency back to the initial state.
                        alert.AlertFrequency = afPrevious;
                        alert.Update();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(" -> Error changing Alert. {0}", ex.Message);
                    } // inner try
                }
                catch (Exception ex)
                {
                    Console.WriteLine(" An unexpected error occurred while accessing the Alert object: {0}", ex.Message);
                } // outer try
            } // foreach alert

            //Handle all Sub-Webs recursively.
            if (spweb.Webs.Count > 0)
            {
                for(int i = spweb.Webs.Count -1; i >= 0; i--)
                {
                    using(SPWeb spsubweb = spweb.Webs[i])
                    {
                        ListAndFixAlerts(spsubweb);
                    } // using spsubweb
                } //for subwebs
            } //if has subweb
        }
    }
}

Daha fazla bilgi

Windows SharePoint Services 3. 0'ı yükseltme hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://technet2.microsoft.com/windowsserver/WSS/en/library/91046a84-57a1-40cb-a32c-ff3395073dc91033.mspx (http://technet2.microsoft.com/windowsserver/WSS/en/library/91046a84-57a1-40cb-a32c-ff3395073dc91033.mspx)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Windows SharePoint Services 3.0
Anahtar Kelimeler: 
kbmt kbtshoot kbexpertiseinter kbprb KB936759 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:936759  (http://support.microsoft.com/kb/936759/en-us/ )